以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请老师指点代码。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=5519)

--  作者:菜鸟foxtable
--  发布时间:2009/12/15 21:40:00
--  请老师指点代码。
要求勾选某一复选框时,自动把第二列相同的行也勾选上。



 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table


图片点击可在新窗口打开查看此主题相关图片如下:qq截图未命名.png
图片点击可在新窗口打开查看

--  作者:mr725
--  发布时间:2009/12/15 23:20:00
--  
试一试吧::::
Dim dr As List(of Row) = Tables("窗口1_Table1").GetCheckedRows()
For Each r As Row in dr
    Dim drs As List(Of Datarow)
    drs = dataTables("窗口1_Table1").Select("[第二列] = " & r("第二列") & " ")    
    With Tables("窗口1_Table1")
        for i as integer = 0 to drs.count-1
            Dim r1 As Integer
            r1 = .FindRow("[第二列] =  " & r("第二列") & " ", .Position + 1, True )
            Tables("窗口1_Table1").Position = r1
            Tables("窗口1_Table1").Rows(r1).Checked = True
        next
    End With
Next
[此贴子已经被作者于2009-12-15 23:20:32编辑过]

--  作者:czy
--  发布时间:2009/12/15 23:48:00
--  
\'table控件AfterCheckRow事件代码
For Each r As Row In Tables("窗口1_Table1").Rows
    If r("第二列") = e.row("第二列") Then
        r.Checked = e.row.Checked
    End If
Next

--  作者:czy
--  发布时间:2009/12/16 0:06:00
--  
以下是引用czy在2009-12-15 23:48:00的发言:
\'table控件AfterCheckRow事件代码
For Each r As Row In Tables("窗口1_Table1").Rows
    If r("第二列") = e.row("第二列") Then
        r.Checked = e.row.Checked
    End If
Next


感觉这种代码效率还是低。
如果Table也有DataTable相同功能的Select方法,效率上去了,代码也简单。


--  作者:czy
--  发布时间:2009/12/16 0:27:00
--  
如果数据量大,这个代码速度远胜于三楼。

\'table控件AfterCheckRow事件代码
Dim T As Table = Tables("窗口1_Table1")
Dim drs As List(Of DataRow) = DataTables("窗口1_Table1").Select("[第二列] = \'" & e.row("第二列") & "\'")
For Each dr As DataRow In drs
    T(T.FindRow(dr)).Checked = e.row.Checked
Next



--  作者:菜鸟foxtable
--  发布时间:2009/12/16 7:18:00
--  
谢谢MR老师,谢谢C版,研究一下。
--  作者:狐狸爸爸
--  发布时间:2009/12/16 9:51:00
--  
以下是引用czy在2009-12-16 0:06:00的发言:


感觉这种代码效率还是低。
如果Table也有DataTable相同功能的Select方法,效率上去了,代码也简单。


呵呵,也有啊:

DataTables("sss").Select(Tables("sss").Filter And "条件" )


--  作者:yangming
--  发布时间:2009/12/16 10:20:00
--  
以下是引用狐狸爸爸在2009-12-16 9:51:00的发言:


呵呵,也有啊:

DataTables("sss").Select(Tables("sss").Filter And "条件" )

学习了,建议写入帮助!

[此贴子已经被作者于2009-12-16 10:20:28编辑过]

--  作者:czy
--  发布时间:2009/12/16 11:52:00
--  
以下是引用狐狸爸爸在2009-12-16 9:51:00的发言:


呵呵,也有啊:

DataTables("sss").Select(Tables("sss").Filter And "条件" )


收藏。


--  作者:xl
--  发布时间:2009/12/16 13:25:00
--  
愚钝,请指点一下:我将"sss"用本便中"表A"替换,还需修改什么才能实现楼主要求?
DataTables("表A").Select(Tables("表A").Filter And "条件" )