首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > VFP >

各PAGE页面的GRID表中的内容筛选有点乱解决方法

2012-03-19 
各PAGE页面的GRID表中的内容筛选有点乱各位大侠,有一事件困挠多时,望得到帮助.主表单顶部有 commandgroup,

各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 绑定到不同的别名,就解决了你的问题


[解决办法]

探讨
引用:
在 Page 的 Activate 方法写  Set Filter To

就是用的这种方法啊..不行啊!!!上面写的有笔误.

因为点commandgroup中的command时,PAGE大概是默认显示的,不执行activate代码的.

热点排行