回 帖 发 新 帖 刷新版面

主题:data 与 msflexgrid相互反馈的问题

各位高手,一个小数据库程序中,我想用鼠标点击msflexgrid中的任一行(比如说第a行),这一行的数据都显示红色,其他行字体颜色仍为黑色,同时,data1.caption=a,实时显示选中行数;同样,再点击其它行,效果同上。这一步我已经做到。
    现在希望完成上面的同时,通过data控件任意改变行数(比如说再由a行改到b行,data1.caption=b),msflexgrid中对应的b行字体也能显示为红色,其他行字体颜色仍为黑色,请问这步如何实现?

回复列表 (共1个回复)

沙发

   各位帮帮忙吧。不胜感激!
   换个说法吧,比如:经鼠标点击,msflexgrid当前行为第5行,整行红色高亮,现有一名称为“下一个”  的command按钮,当点击这个按钮时,msflexgrid由第五行移动到第六行,同时红色高亮背景也由第五行移动到第六行。如何实现?
   现已完成:
Private Sub MSFlexGrid1_Click()     '鼠标选中一行,text1显示选中数据
      Dim i As Integer
      Arow = MSFlexGrid1.RowSel           '鼠标选中一行,高亮
      Data1.Caption = Arow
      MSFlexGrid1.FocusRect = 0
      MSFlexGrid1.BackColorSel = vbRed
      MSFlexGrid1.HighLight = flexHighlightAlways
      MSFlexGrid1.SelectionMode = flexSelectionByRow
   
      If MSFlexGrid1.RowSel = 0 Then Exit Sub  '禁止选中固定行
   
      For i = 1 To MSFlexGrid1.Cols - 1    'text1显示选中数据
         Text1.Item(i - 1).Text = MSFlexGrid1.TextMatrix(Arow, i)
      Next i
End Sub

Private Sub MSFlexGrid1_SelChange()           '仅让选中一行
    If MSFlexGrid1.Row = 1 Then Exit Sub     '避免数据仅剩一行时出现错误
    MSFlexGrid1.RowSel = MSFlexGrid1.Row
End Sub

    下面当点击command按钮时,msflexgrid由第五行移动到第六行,同时红色高亮背景也由第五行移动到第六行。如何实现?跪求。\(^o^)/~

我来回复

您尚未登录,请登录后再回复。点此登录或注册