以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于自动清除 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=65834) |
-- 作者:爱相随 -- 发布时间:2015/3/24 10:43:00 -- 关于自动清除 老师,我的项目需要几项目处理,请指导帮助
1、我的每张表都有一逻辑列“选择行”,然后有个窗口对表的内容进行筛选,菜单中有按钮“全选”“全销”,我要求,如果我通过筛选后显示的数据记录,点按钮“全选”或“全销”按钮,则“选择行”列应当只是筛选出来的记录进行变化,而不是所有的记录都全部勾上或销除。现在是无论是否筛选,这两个按钮都是操作全部记录。 2、选择行的状态我要求无论是谁进行了操作,当他退出后,选择行的状态全部变为未勾选的状态。
请问老师,上面的功能怎样实现呢?谢谢老师 |
-- 作者:狐狸爸爸 -- 发布时间:2015/3/24 10:50:00 -- 看一下: http://www.foxtable.com/help/topics/0363.htm http://www.foxtable.com/help/topics/1586.htm http://www.foxtable.com/help/topics/1467.htm
正如帮助所言,对筛选出的行进行操作,那么就遍历Table就行,例如选择所有行。
For Each r As Row in Tables("订单").Rows
你要撤销勾选:
For Each r As Row in Tables("订单").Rows
这个选择行最好用表达式列,这样不占用存储空间,退出的时候,也不会保存状态,提醒:表达式列并非一定要设置表达式,没有设置表达式的表达式列,一样可以输入数据,只是不能存储 |
-- 作者:爱相随 -- 发布时间:2015/3/24 11:25:00 -- 以下是引用狐狸爸爸在2015/3/24 10:50:00的发言:
看一下: http://www.foxtable.com/help/topics/0363.htm http://www.foxtable.com/help/topics/1586.htm http://www.foxtable.com/help/topics/1467.htm
正如帮助所言,对筛选出的行进行操作,那么就遍历Table就行,例如选择所有行。
For Each r As Row in Tables("订单").Rows
你要撤销勾选:
For Each r As Row in Tables("订单").Rows
这个选择行最好用表达式列,这样不占用存储空间,退出的时候,也不会保存状态,提醒:表达式列并非一定要设置表达式,没有设置表达式的表达式列,一样可以输入数据,只是不能存储 老师,我要达到的目的就是当筛选后,点击“全选”时,点选择中的就只是筛选出来的行,如果没有筛选出来的行,则不会被选择。 [此贴子已经被作者于2015/3/24 11:29:54编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2015/3/24 11:31:00 -- 呵呵,我给的代码没有错,全选筛选出的行的代码就是:
|
-- 作者:爱相随 -- 发布时间:2015/3/24 11:42:00 -- 以下是引用狐狸爸爸在2015/3/24 11:31:00的发言:
呵呵,我给的代码没有错,全选筛选出的行的代码就是:
但这个“全选”“全销”按钮是在菜单里的,适用全部表,并不是只定哪个表可以操作 |
-- 作者:爱相随 -- 发布时间:2015/3/24 11:46:00 -- 以前用的代码是:CurrentTable.DataTable.replacefor("XZH",True,"") 但它不能按筛选的结果选中,而是无论是否筛选,它都全选 |
-- 作者:逛逛 -- 发布时间:2015/3/24 12:01:00 -- 那你可以套用狐爸的代码,改一下啊
For Each r As Row in CurrentTable.Rows
虽然用CurrentTable不太严谨,但在特殊情况下还是能用 别忘了判断一下 列是否存在
|
-- 作者:狐狸爸爸 -- 发布时间:2015/3/24 12:13:00 -- 以下是引用爱相随在2015/3/24 11:46:00的发言:
以前用的代码是:CurrentTable.DataTable.replacefor("XZH",True,"") 但它不能按筛选的结果选中,而是无论是否筛选,它都全选
呵呵,提问的时候,一开始就贴出你按钮的代码并说明问题,会更快捷地得到帮助,不要只说我不行,却不提供代码
改为:
Tables("表名").DataTable.replacefor("XZH",True,Tables("表名").Filter)
Table为啥只显示部分行,因为筛选了,为什么筛选,因为设置了他的Filter属性。
记得回头看一下我贴给你的帮助,知道Table和dataTable的区别,这很重要。
|
-- 作者:爱相随 -- 发布时间:2015/3/24 12:17:00 -- 谢谢老师,就是这个效果!!! |
-- 作者:狐狸爸爸 -- 发布时间:2015/3/24 12:20:00 -- 不客气,还有,你应该知道: 二楼的方法也是可以的。 建议看一下: http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=65606
[此贴子已经被作者于2015/3/24 12:21:18编辑过]
|