我写的代码如下,但还存在一些问题,希望大家帮忙修改修改Private Sub VSF1_Click()
If VSF1.Col = 0 Then
Check6.Visible = True
Check6.Top = VSF1.CellTop + VSF1.Top + 30
Check6.Left = VSF1.CellLeft + VSF1.Left + 160
Check6.Width = VSF1.CellWidth - 2 * Screen.TwipsPerPixelX
Check6.Height = VSF1.CellHeight - 2 * Screen.TwipsPerPixelY
Check6.Value = IIf(VSF1.Cell(flexcpChecked, VSF1.Row, 0) = True, 1, 0)
End If
End SubPrivate Sub Check6_Click()
VSF1.TextMatrix(VSF1.Row, 0) = IIf(Check6.Value = 1, True, False)
Check6.Visible = False
End Sub说明:VSF1代表VSFlexGrid控件,第0列的数据类型给它设置成了布尔型.目的想直接在VSFlexGrid控件中直接编辑第0列的值
If VSF1.Col = 0 Then
Check6.Visible = True
Check6.Top = VSF1.CellTop + VSF1.Top + 30
Check6.Left = VSF1.CellLeft + VSF1.Left + 160
Check6.Width = VSF1.CellWidth - 2 * Screen.TwipsPerPixelX
Check6.Height = VSF1.CellHeight - 2 * Screen.TwipsPerPixelY
Check6.Value = IIf(VSF1.Cell(flexcpChecked, VSF1.Row, 0) = True, 1, 0)
End If
End SubPrivate Sub Check6_Click()
VSF1.TextMatrix(VSF1.Row, 0) = IIf(Check6.Value = 1, True, False)
Check6.Visible = False
End Sub说明:VSF1代表VSFlexGrid控件,第0列的数据类型给它设置成了布尔型.目的想直接在VSFlexGrid控件中直接编辑第0列的值
if vsf1.col= 0 then
VSF1.TextMatrix(VSF1.Row, 0) = IIf(Check6.Value = 1, True, False)
Check6.Visible = False
endif
End Sub
目前主要问题有:1.要去连续单击两下vsf1第0列中复选框的值沟才会出现
2.而且单击其中一行的第0列中复选框的值还会影响到其它行的第0列中复选框的值.现在又想到用vsf1.Editable = True来实现
Private Sub VSF1_Click()
If VSF1.Col = 0 Then
vsf1.Editable = True
End If
End Sub
但是当单击第0列以后整个vsf1单元格中的数据都可以编辑了,目的只想让第0列可以编辑外,其它的列都不可以编辑.请问有没有更好的方法?
VSF1.Cell(flexcpChecked, VSF1.Row, 0)=not VSF1.Cell(flexcpChecked, VSF1.Row, 0)
End Sub
是什么意思?不懂呀,运行时提示无效属性值
急呀!一直在线等了很久啊,郁闷ing
大家快来帮帮我呀,谢谢先!
有属性的.
BeforeEdit EventFired before the control enters cell edit mode.SyntaxPrivate Sub VSFlexGrid_BeforeEdit( ByVal Row As Long, ByVal Col As Long, Cancel As Boolean)
在这个事件里,你判断一下列,然后条件成立的话设定Cancel=False就可以禁止编辑了.
If VSF1.Col = 0 Then
vsf1.Editable = True
else
vsf1.Editable = false
End If
End Sub