Foxtable(狐表)用户栏目专家坐堂 → table筛选后,保留已勾选的行


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

主题:table筛选后,保留已勾选的行

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


加好友 发短信
等级:童狐 帖子:223 积分:1960 威望:0 精华:0 注册:2015/4/8 8:18:00
table筛选后,保留已勾选的行  发帖心情 Post By:2023/4/27 17:06:00 [只看该作者]

table筛选后,保留已勾选的行
已勾选的行,再次筛选后保留,不要清空

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/4/27 17:11:00 [只看该作者]

筛选前,使用集合记录一下已经勾选的行的编号,或者主键_identify

筛选后,遍历table的行,判断如果编号在集合里,就重新勾选上

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


加好友 发短信
等级:童狐 帖子:223 积分:1960 威望:0 精华:0 注册:2015/4/8 8:18:00
  发帖心情 Post By:2023/4/27 17:28:00 [只看该作者]

搞定了。
1.添加一个临时列,命名为checked ,数据类型 Boolean ,隐藏该列
2.在table的 AfterCheckRow 事件中,给checked 列赋值 =行的复选状态 
r("Checked") = r.Checked
3.在筛选 的fiter条件中 加
 filter &= " or Checked=true" 
4.筛选执行后,遍历表,给原来勾选过的打勾
    For Each r As Row In tb.Table.Rows
        r.Checked = r("Checked")
    Next 



 回到顶部