起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 170|回复: 5

【搞定】DataNavigator中如何控制某按钮的属性 ?**

[复制链接]
发表于 2007-10-26 11:15:45 | 显示全部楼层 |阅读模式
功能中有多个数据集, 根据DataNavigator自动探测到的数据集ID ,来改变 DataNavigator 按钮 ,如 "删除" 的Enabeld 属性.  (不在数据集策略中控制,本身数据集都有删除功能) . ...
  该在什么事件中控制,代码如何写?
实现效果 : 光标变动后(数据集ID改变) , DataNavigator的按钮属性 自动改变
回复

使用道具 举报

发表于 2007-10-26 11:48:58 | 显示全部楼层
楼主,请先反馈一下  http://bbs.justep.com/forum.php?mod=viewthread&tid=18441  这个帖子
回复 支持 反对

使用道具 举报

发表于 2007-10-26 13:45:42 | 显示全部楼层
procedure TMainForm.BizFormCreate(Sender: TObject);
begin

  DataSetBZSJJ1.OnCanDeleteEvents.Add(DataCanDelete);

end;

procedure TMainForm.DataCanDelete(DataSet: TDataSet; var Accept: Boolean);
begin
  Accept:=false;
end;
回复 支持 反对

使用道具 举报

发表于 2007-10-26 13:46:44 | 显示全部楼层
DataNavigator 是数据感知控件,是根据数据集的状态来决定那些按钮是否可用,我想到三种方法,你权衡一下利弊

方法一、还是通过数据集策略来实现

方法二、在DataNavigator 的BeforeAction 去处理,如果感知的数据集是不可删除的(获取数据导航条当前感知的数据集,参考 http://bbs.justep.com/forum.php?mod=viewthread&tid=1739  ),那么做个提示,然后设置 Accept := false;

方法三、各自用各自的DataNavigator ,然后直接设置好哪些数据集有哪些按钮。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-26 16:20:44 | 显示全部楼层
暂时先 通过 方法二 控制 , 以后如有更好的方法 望能公告下 .
回复 支持 反对

使用道具 举报

发表于 2007-10-26 16:29:26 | 显示全部楼层
ok,结贴

2楼的也是一个方法,你有时间可以做一下看看效果
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-29 02:22 , Processed in 0.036036 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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