以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  table筛选后,保留已勾选的行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=186419)

--  作者:淡月斜阳
--  发布时间:2023/4/27 17:06:00
--  table筛选后,保留已勾选的行
table筛选后,保留已勾选的行
已勾选的行,再次筛选后保留,不要清空

--  作者:有点蓝
--  发布时间:2023/4/27 17:11:00
--  
筛选前,使用集合记录一下已经勾选的行的编号,或者主键_identify

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

--  作者:淡月斜阳
--  发布时间: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