delphi – 如何更改TDBNavigator组件的行为?
发布时间:2020-12-15 04:10:34 所属栏目:大数据 来源:网络整理
导读:我想更改标准DBNavigator栏上的插入按钮的行为,从数据集插入到追加. 我可以在BeforeAction事件中捕获按钮单击,执行追加等操作;然后在OnClick事件中中止原始插入,但这似乎有点黑客.有更好的想法吗?我正在使用D6(时钟500,000公里,仍然很强劲……). 谢谢你的建
我想更改标准DBNavigator栏上的插入按钮的行为,从数据集插入到追加.
我可以在BeforeAction事件中捕获按钮单击,执行追加等操作;然后在OnClick事件中中止原始插入,但这似乎有点黑客.有更好的想法吗?我正在使用D6(时钟500,000公里,仍然很强劲……). 谢谢你的建议 问候, PhilW. 解决方法
您可以从TDBNavigator派生自己的类并覆盖BtnClick方法.
或者,对于快速和脏的修复,您可以在运行时更改插入按钮的单击处理程序,例如: type THackDBNavigator = class(TDBNavigator); procedure TForm1.DBNavigatorInsertClick(Sender: TObject); var DBNavigator: TDBNavigator; begin DBNavigator := ((Sender as TControl).Parent as TDBNavigator); if Assigned(DBNavigator.DataSource) and (DBNavigator.DataSource.State <> dsInactive) then begin if Assigned(DBNavigator.BeforeAction) then DBNavigator.BeforeAction(DBNavigator,nbInsert); DBNavigator.DataSource.DataSet.Append; if Assigned(DBNavigator.OnClick) then DBNavigator.OnClick(DBNavigator,nbInsert); end; end; procedure TForm1.FormCreate(Sender: TObject); begin THackDBNavigator(DBNavigator1).Buttons[nbInsert].OnClick := DBNavigatorInsertClick; end; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |