我设定了一些代码,想在鼠标点击的单元内发生,用mousedown、mouseup、click事件,都是光标所在的单元触发该事件,而不是鼠标点击的那个单元触发该事件。用rowcolchange事件可以在变换的时候达到我的愿望,但在一个单元内点击鼠标则不会如愿。
请问我该怎么做?

解决方案 »

  1.   

    就用click好了, 然后是读datagrid.mouserow, datagrid.mousecol
    最后把读出的row和col放在事件的语句里面判断一下
      

  2.   

    Private Sub dgTaskWo_Click()
        Dim str As String
        str = dgWo.Columns(dgWo.Col).Caption    Select Case str 
        Case "安排日期"
           msgbox"..........."
        case.......
        End Select
    End Sub
      

  3.   

    grd.Col = 1
                a = grd.Text
                s = "select * from 投诉 where 文档编号=  '" & a & "'"
                cltb.Open s, cn
    我用的是MSFLexGrid控件,用法和DATAgrid一样。
      

  4.   

    我在DataGrid中加了一列选择判断,通过点击来判断是否选中。
    有一个通过浮动复选框的方法来解决,就是单击一次,复选框移动到当前单元,在单击一下来选中或者取消选中,我觉得有点麻烦,想直接通过一次点击来判断。现在的问题就是点击之后,焦点还是在前一个单元,这样更改就是发生在前一个单元,如果能在点击之后,鼠标点击的单元获得焦点,然后在改变值就好了。
      

  5.   

    你把你想要作为选择的那一列设为按钮。
    DataGrid1.Columns(I).Button =True 
    DataGrid1.Columns(I).Locked =True
    在这个事件中处理你想做的事即可
    Private Sub DataGrid1_ButtonClick(ByVal ColIndex As Integer)
      If ColIndex = I Then
        If DataGrid1.Columns(I).Text = "√" Then
          DataGrid1.Columns(I).Text = " "
        Else
          DataGrid1.Columns(I).Text = "√"
        End If
      End If
    End Sub
      

  6.   

    click事件和rowcolchange事件结合使用。