起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 446|回复: 14

【搞定】如何检测出当前活动的功能!**

[复制链接]
发表于 2008-3-25 17:42:18 | 显示全部楼层 |阅读模式
如何检测出当前活动的功能!
比如在主界面上同时打开了4个功能的窗体,我想知道现在焦点所在的功能。
谢谢!
回复

使用道具 举报

发表于 2008-3-26 09:06:28 | 显示全部楼层
在标准风格主窗体上有一个属性 CurrentFunc 是当前激活的功能
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-26 10:47:48 | 显示全部楼层

我就我的需求说一下吧

我就我的需求说一下吧:
我现在在主界面上用通过DockStub添加了一个panel 在pannel上有一个datagrid我现在想根据客户在主界面上焦点所在的功能来过滤datagrid上的数据。比如现在焦点所在的功能是A在datagrid中只显示1,2,3三条记录,当焦点转移到B功能下时datagrid显示的是4,5,6。。。。
现在我创建了一个参数,然后在每个功能创建的时候给参数赋值。然后想在主界面上找一个与活动功能切换有关的事件。现在就卡在这了。希望提供帮助
谢谢
回复 支持 反对

使用道具 举报

发表于 2008-3-26 10:58:59 | 显示全部楼层
在标准风格主窗体上,以下函数在功能切换时候会执行
procedure TSTANDARDSTYLEMAINFORM.ShowContainer(AContainer: TFuncContainer);
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-26 11:32:43 | 显示全部楼层

这个事件不行得找一个功能切换后的才可以啊

我试过了,这个事件不行,得找一个功能切换后才触发的才可以。再帮忙想想办法吧。
谢谢!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-26 11:51:05 | 显示全部楼层

首先麻烦分析一下我的办法能否可行吧

首先麻烦aland根据经验分析一下我3楼的办法能否可行好吗?
我想在找到的事件里用TSQLDATASET根据参数的值来过滤。
谢谢!
回复 支持 反对

使用道具 举报

发表于 2008-3-26 11:57:12 | 显示全部楼层
你增加红色的语句执行下看看呢
procedure TSTANDARDSTYLEMAINFORM.ShowContainer(AContainer: TFuncContainer);
var
  OldCurrent: TFuncContainer;
begin
  if FCurrentFuncContainer = AContainer then
    Exit;
  Dialogs.Showmessage('aa');
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-26 13:33:12 | 显示全部楼层

这个事件的时间确实是在功能创建之后

这个事件的时间确实是在功能创建之后。我在功能创建的时候也
Dialogs.Showmessage('bb');
然后在procedure TSTANDARDSTYLEMAINFORM.ShowContainer(AContainer: TFuncContainer);
上Dialogs.Showmessage('aa');,发现确实是先创建我的功能在执行ShowContainer。但是不知道为什么加上参数过滤的SQL代码,显示不出数据来。而我在我自己的功能的主窗体里同样的SQL代码却能显示数据。请问这和参数的值传递时机有关系吗?
回复 支持 反对

使用道具 举报

发表于 2008-3-26 13:40:35 | 显示全部楼层
参数改变以后,你要刺激数据集的刷新动作才可以
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-26 13:51:35 | 显示全部楼层

怎么刺激数据集刷新啊

cyjDB.DataSet.close;
TSqlDataSet(cyjDB.DataSet).SQL.Text:=' SELECT * FROM OA_MODEL where  MODELTYPE = &[Biz:\COMMON\MBCS.ParamGroup\MBCS.Param]';   //chenyj
cyjDB.DataSet.open;
cyjDB.DataSet.Refresh;
DataTransparentGrid1.Refresh;
我在ShowContainer里面的代码如上所示。cyjDB.DataSet.Refresh;这样数据集的刷新可以吗。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-9 06:52 , Processed in 0.054588 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表