各PAGE页面的GRID表中的内容筛选有点乱
各位大侠,有一事件困挠多时,望得到帮助.
主表单顶部有 commandgroup,下面有6个pageframe.
pageframe有的是一个PAGE,有的是多个PAGE.
这样有个突出的问题是不同的PAGE当中的GRID,可能是同一个表,但SET FILT TO 筛选的内容是不同的.
可当一个PAGE中的GRID内容显示成功后,点另一个PAGE时,也会显示上一个PAGE中GRID筛选出来的内容?这个怎么办?
有人说,用ACTIVEPAGE设置SET FILT TO。这种方法也不太合适,因为有的需要点顶上的commandgroup中的COMMAND,这样出现另外的pageframe,他是不执行activepage代码的。除非点一下这个PAGE的标题,才会执行activepage代码。
怎么办?????
[解决办法]
在 Page 的 Activate 方法写 Set Filter To
[解决办法]
问题的关键不在于要在哪个事件中写怎样的代码,关键在于一个工作区中任何时候只能有一个起作用的过滤条件。
仔细研究一下你最常用的 use 命令,你会发现还有 again, alias 等可选项,所以你必须在不同的工作区中重复打开同一个表/游标,然后分别为它们指定不同的过滤条件。
在命令窗口中输入下列命令,执行一下看看是否可同时看到不同的筛选内容:
use ? in 0 alias t1
use dbf('t1') again in 0 alias t2
set filter to 你的一个筛选条件 in t1
set filter to 你的另一个筛选条件 in t2
select t1
browse nowait
select t2
browse nowait
同理,将不同 page 中的 grid.RecordSource 绑定到不同的别名,就解决了你的问题
[解决办法]