起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 291|回复: 8

【结】请问DataNavigator各个按钮的事件是什么

[复制链接]
发表于 2010-2-10 15:51:42 | 显示全部楼层 |阅读模式
DataNavigator1BeforeAction
是按保存按钮之前的事件吗?
为什么我在表单创建的时候就打开和使数据集处于编辑状态了
它还是会在DataNavigator1BeforeAction里面报数据集不能被编辑的错误?
它们之间的先后顺序是怎样的?
回复

使用道具 举报

发表于 2010-2-10 15:59:05 | 显示全部楼层
DataNavigator1BeforeAction
是当数据导航栏的某个按钮被单击,但在动作被执行前发生!
回复 支持 反对

使用道具 举报

发表于 2010-2-10 16:00:19 | 显示全部楼层
楼主把DataNavigator1BeforeAction里面的代码和错误信息贴上来!
回复 支持 反对

使用道具 举报

发表于 2010-2-10 16:01:11 | 显示全部楼层
DataNavigator1BeforeAction
是按保存按钮之前的事件吗?
不是,是DataNavigator上所有按钮点击的时候都会触发的。如果仅仅是保存要触发,可以通过判断点击是否是保存按钮,参考 http://bbs.justep.com/forum.php?mod=viewthread&tid=517
或者在数据集的BeforeApplyUpdate、AfterApplyUppdate的事件上处理
回复 支持 反对

使用道具 举报

发表于 2010-2-10 16:03:11 | 显示全部楼层
为什么我在表单创建的时候就打开和使数据集处于编辑状态了
这是根据数据集自己的状态来决定的。如果你不想编辑,可以设置数据集的ReadOnly属性为True。

它还是会在DataNavigator1BeforeAction里面报数据集不能被编辑的错误?
不会,这是在点击DataNavigator上的按钮才触发的

它们之间的先后顺序是怎样的?
你指谁和谁的先后顺序呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-2-10 16:15:08 | 显示全部楼层
procedure TERROR_ADD_DOCUMENT.DataNavigator1BeforeAction(Sender: TObject; var Accept: Boolean);
begin
  dsbERROR_INFO.DataSet.Open;
  dsbERROR_INFO.DataSet.Edit;
  dsbERROR_INFO.DataSet.FieldByName('ADVICE_RATING').AsInteger := RadioGroupAdvice_Rating.ItemIndex;
end;

  dsbERROR_INFO.DataSet.Open;
  dsbERROR_INFO.DataSet.Edit;这两句是后来加上去的,加上就没有不报数据集不能编辑的错误了。
我是想问,DataNavigator1BeforeAction和FormDocCreate事件哪个先执行?
为什么我在FormDocCreate事件中打开了数据集,还要在DataNavigator1BeforeAction中打开才不报错?
回复 支持 反对

使用道具 举报

发表于 2010-2-10 16:40:56 | 显示全部楼层
FormOnCreate事件肯定要先执行的,你在这个事件里面写打开数据集的代码了吗?建议你在FormOnShow事件里面写!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-2-10 16:50:30 | 显示全部楼层
好,我试一下。可以结贴了
回复 支持 反对

使用道具 举报

发表于 2010-2-10 16:55:07 | 显示全部楼层
DataNavigator1BeforeAction和FormDocCreate事件哪个先执行?
这两个没有可比性,如果实在要比,那肯定DataNavigator1BeforeAction在后,因为这个是在点击数据导航条中的按钮才会触发的。

为什么我在FormDocCreate事件中打开了数据集
这个事件上,我们一般不建议用户进行逻辑处理。
可以在窗体的OnShow事件上来打开数据集、
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-11 08:47 , Processed in 0.040896 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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