主题:data 与 msflexgrid相互反馈的问题
chenji
[专家分:0] 发布于 2009-12-07 19:30:00
各位高手,一个小数据库程序中,我想用鼠标点击msflexgrid中的任一行(比如说第a行),这一行的数据都显示红色,其他行字体颜色仍为黑色,同时,data1.caption=a,实时显示选中行数;同样,再点击其它行,效果同上。这一步我已经做到。
现在希望完成上面的同时,通过data控件任意改变行数(比如说再由a行改到b行,data1.caption=b),msflexgrid中对应的b行字体也能显示为红色,其他行字体颜色仍为黑色,请问这步如何实现?
回复列表 (共1个回复)
沙发
chenji [专家分:0] 发布于 2009-12-09 17:06:00
各位帮帮忙吧。不胜感激!
换个说法吧,比如:经鼠标点击,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^)/~
我来回复