以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  全选  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=108534)

--  作者:longyanlin
--  发布时间:2017/10/24 17:46:00
--  全选

论坛里的全选案例代码:

Public headCol As Integer = -1

Public Sub MouseLeaveCellHandler(sender As object, e As C1.Win.C1FlexGrid.RowColEventArgs )
headcol = -1
End Sub

Public Sub MouseEnterCellHandler(sender As object, e As C1.Win.C1FlexGrid.RowColEventArgs )
If e.Row = 0 Then
    headcol = e.Col
End If
End Sub

Public Sub ClickHandler(sender As object, e As System.EventArgs)
If headcol <> -1 Then
    Dim cname = Tables(sender.Name).Cols(headcol-1).Name
    Dim idx As Integer = headcol
    If sender.name = "表A" AndAlso cname = "第一列" Then
        sender(0, idx) = not sender(0, idx)
        For Each r As Row In Tables(sender.name).Rows
            r(cname) = sender(0, idx)
        Next
    End If
End If
End Sub

 

是在表A里进行全选,如果是对几个表进行全选呢,该怎样修改代码?

比如表B,表C,表D


--  作者:有点甜
--  发布时间:2017/10/24 18:19:00
--  

 你是说表B、表C等都要实现表A的功能?

 

 具体例子发上来。


--  作者:longyanlin
--  发布时间:2017/10/24 21:47:00
--  
是的,表B表C表D等等多个表都实现这个功能,谢谢老师
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:单击列标题事件.table

[此贴子已经被作者于2017/10/24 21:50:25编辑过]

--  作者:有点蓝
--  发布时间:2017/10/24 22:05:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:单击列标题事件 (1).table

--  作者:liufucan
--  发布时间:2019/12/26 15:22:00
--  
如果设置了列标题,这个例子会出错,请问老师怎么解决呢?
--  作者:有点蓝
--  发布时间:2019/12/26 15:34:00
--  
重启项目即可
--  作者:liufucan
--  发布时间:2019/12/26 15:50:00
--  
如果是动态设置的列标题还是不行。
[此贴子已经被作者于2019/12/26 15:53:40编辑过]

--  作者:有点蓝
--  发布时间:2019/12/26 16:07:00
--  
设置列标题前去掉事件的绑定,设置后重新绑定
    dim t as table = 某表
    removehandler t.grid.MouseEnterCell, addressof MouseEnterCellHandler
    removehandler t.grid.MouseLeaveCell, addressof MouseLeaveCellHandler
    removehandler t.grid.Click, addressof ClickHandler
    设置列标题的代码
    addhandler t.grid.MouseEnterCell, addressof MouseEnterCellHandler
    addhandler t.grid.MouseLeaveCell, addressof MouseLeaveCellHandler
    addhandler t.grid.Click, addressof ClickHandler