Foxtable(狐表)用户栏目专家坐堂 → [求助]如何筛选出已选定的行


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

主题:[求助]如何筛选出已选定的行

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/1/21 9:02:00 [显示全部帖子]

Dim ids As String
Dim rlist As List(of Row) = Tables("表A").GetCheckedRows
If rlist.count> 0 Then
    For Each r As Row In rlist
        ids = ids & ",'" & r("_Identify") & "'"
    Next
    ids= ids.Trim(",")
    Tables("表A").Filter = "_IDentify In (" & ids & ")"
    For Each r As Row In Tables("表A").Rows
        r.Checked =True
    Next
End If

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/1/21 9:24:00 [显示全部帖子]

我测试都没问题的啊,奇怪.你上个例子看看你是怎么做的.

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/1/21 10:14:00 [显示全部帖子]

使用我的代码,完全没问题.也不会出现未选定的情况.

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/1/21 10:23:00 [显示全部帖子]

2楼代码经过 多人 多次 多台电脑 多个系统测试 完美解决你的问题.

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/1/21 10:23:00 [显示全部帖子]

实在还是不行,你就 上个例子吧

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/1/21 10:38:00 [显示全部帖子]

2楼代码经过 多人 多次 多台电脑 多个系统测试 完美解决你的问题.
实在还是不行,你就 上个例子吧

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/1/21 10:55:00 [显示全部帖子]

把IDS保存起来 放到一个全局变量中.

然后每次执行完相关操作,你希望显示选中行的时候

利用Select找到对应的行集合


再根据Datarow 找到对应的ROW, 然后设置Checked属性为True即可

语法二

FindRow(DataRow)

DataRow: 指定一个数据行

返回指定的数据行在Table中的位置,如果没找到(例如Table处于筛选状态,而此数据行恰好不符合筛选条件),则返回-1。

例如在订单表中,我们希望将光标定位到最后一次订购PD01产品的订单:

Dim dr As DataRow
dr = 
DataTables("订单").Find("[产品] = 'PD01'""日期 Desc")
If 
dr IsNot Nothing Then
    Dim 
wz As Integer = Tables("订单").FindRow(dr)
    If 
wz >= 0 Then
        Tables
("订单").rows(wz)=true

    End If
End If


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/1/21 11:22:00 [显示全部帖子]

也是个好注意. 这样你干脆用自定义的逻辑列 当作 复选框使用好了. 移到第一列.

 回到顶部