我写的代码如下,但还存在一些问题,希望大家帮忙修改修改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列的值

解决方案 »

  1.   

    Private Sub Check6_Click()
    if vsf1.col= 0 then
    VSF1.TextMatrix(VSF1.Row, 0) = IIf(Check6.Value = 1, True, False)
    Check6.Visible = False
    endif
    End Sub
      

  2.   

    cosio() ,谢谢回复,加不加if vsf1.col= 0 then 这个条件没什么关系的
    目前主要问题有: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列可以编辑外,其它的列都不可以编辑.请问有没有更好的方法?
      

  3.   

    Private Sub VSF1_Click()
       VSF1.Cell(flexcpChecked, VSF1.Row, 0)=not VSF1.Cell(flexcpChecked, VSF1.Row, 0)
    End Sub
      

  4.   

    VSF1.Cell(flexcpChecked, VSF1.Row, 0)=not VSF1.Cell(flexcpChecked, VSF1.Row, 0)
    是什么意思?不懂呀,运行时提示无效属性值
      

  5.   

    怎么没人帮回答呢?
    急呀!一直在线等了很久啊,郁闷ing
    大家快来帮帮我呀,谢谢先!
      

  6.   

    布尔列直接就有Check,不知道你在干什么.
      

  7.   

    是啊,如果把某一列设置成了布尔列后就会有Check了,我想直接在VSFlexGrid控件中直接对Check进行选中和不选中操作.但要使其它的列不能在VSFlexGrid控件中直接来编辑.
      

  8.   

    晕倒.把其它列Lock起来就行了.
    有属性的.
      

  9.   

    wumylove1234(毁于随),说具体点呀!通过什么属性把其它列给Lock起来?小女子很急呀,郁闷了很久了.很需要帮助啊!
      

  10.   

    我想起来了.
    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就可以禁止编辑了.
      

  11.   

    设定Cancel=False还是不行啊晕.是设成True啊!
      

  12.   

    Private Sub VSF1_Click()
    If VSF1.Col = 0 Then
    vsf1.Editable = True
    else
    vsf1.Editable = false
    End If
    End Sub