You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TDBNavigator的OnClick事件添加代码后内置操作执行逻辑相关疑问

TDBNavigator 事件与操作逻辑解答

核心前提

TDBNavigator 的 OnClick 事件是对应按钮的默认操作执行完成后才触发的,你在该事件中编写的自定义代码属于附加逻辑,默认不会拦截控件的原生操作。


问题解答

  • 点击nbInsert按钮时是否需要手动写插入逻辑?
    控件会自动执行默认INSERT操作,无需在OnClick事件中手动实现插入逻辑。你在该事件中编写的代码会在新记录插入完成后运行,适合做新记录字段默认值赋值等附加操作。
  • 点击nbPost按钮时是否需要手动实现提交?
    提交操作会自动执行完成后才触发OnClick事件,不需要手动写提交逻辑。如果需要对提交结果做校验、后续处理,可以在该事件的自定义代码中实现。
  • Post操作完成后是否会自动跳转到下一条记录?
    默认不会。nbPost按钮的原生行为仅为将当前记录的修改提交到关联的数据集,不会主动移动记录指针。如果需要实现提交后跳转下一条的逻辑,可以在OnClick事件中添加对应代码,示例如下:
    procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
    begin
      // 判断当前点击的是Post按钮
      if Button = nbPost then
        // 调用数据集的Next方法移动到下一条记录
        YourDataSource.DataSet.Next;
    end;
    

补充提示

如果你需要完全替换某个按钮的默认行为,不要使用OnClick事件,改为处理TDBNavigator的BeforeAction事件,将事件参数的AllowAction设为False后再编写自定义逻辑,此时控件的原生操作不会被执行。

内容的提问来源于stack exchange,提问作者Aorangi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 03:15:03