读书人

MSFlexGrid上显示Combo解决方法

发布时间: 2012-03-16 16:34:56 作者: rapoo

MSFlexGrid上显示Combo
想在MSFlexGrid上显示Combo,当鼠标点中哪个单元格就显示到哪,选择Combo项,将显示在当前的单元格,即MSFlexGrid.text = combo.text


[解决办法]
在MSFlexGrid1的EnterCell与LeaveCell事件进行判断更好一点.
[解决办法]
yimain(我活过,所以无怨无悔.) 说的没错
EnterCell与LeaveCell事件配合RowColChange事件比单纯使用Click事件要好很多,可以顺便进行数据有效性校验。
我的习惯,MSFlexGrid有几列,我就弄几个ComboBox控件,省得换来换去既麻烦又容易出错。

楼主每次重新填充Combo1,都会执行.ListIndex = 0,然后就会触发下面的代码:
Private Sub Combo1_Click()
MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, MSFlexGrid1.ColSel) = Combo1.Text
End Sub
导致“每点一个单元格时会将元格的值改为combo的第一项”

[解决办法]
在 Private Sub MSFlexGrid1_Click() 中初始化 Combo1 后应该用当前单元格的值定位 Combo1 的选中项,这样即使有多余的 Combo1_Click() 事件也不会改变当前单元格的值。

读书人网 >VB

热点推荐