Foxtable(狐表)用户栏目专家坐堂 → 请老师指点代码。


  共有16994人关注过本帖树形打印复制链接

主题:请老师指点代码。

帅哥哟,离线,有人找我吗?
菜鸟foxtable
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
请老师指点代码。  发帖心情 Post By:2009/12/15 21:40:00 [只看该作者]

要求勾选某一复选框时,自动把第二列相同的行也勾选上。



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


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

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By: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
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By: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
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2009/12/16 7:18:00 [只看该作者]

谢谢MR老师,谢谢C版,研究一下。

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/12/16 9:51:00 [只看该作者]

以下是引用czy在2009-12-16 0:06:00的发言:


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


呵呵,也有啊:

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


 回到顶部
美女呀,离线,留言给我吧!
yangming
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By: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
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/12/16 11:52:00 [只看该作者]

以下是引用狐狸爸爸在2009-12-16 9:51:00的发言:


呵呵,也有啊:

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


收藏。


 回到顶部
帅哥哟,离线,有人找我吗?
xl
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:400 积分:3961 威望:0 精华:0 注册:2009/4/28 7:39:00
  发帖心情 Post By:2009/12/16 13:25:00 [只看该作者]

愚钝,请指点一下:我将"sss"用本便中"表A"替换,还需修改什么才能实现楼主要求?
DataTables("表A").Select(Tables("表A").Filter And "条件" )

 回到顶部
总数 12 1 2 下一页