TClientDataSet 的当前聚焦字段

发布于 2024-10-11 03:26:28 字数 205 浏览 4 评论 0原文

我遇到一种情况,我必须允许用户更新 dbgrid(连接到 CDS)的 2 个字段中的任意一个,以保留最后输入的字段。因此(在用户输入数据后)我需要获取当前聚焦的控件,以便我将删除以前的字段数据(如果有)。除了这两个领域之外,我还有其他领域。

坚持不使用任何网格相关事件,我必须仅使用 CDS 事件来实现此目的。

提前致谢, 维杰.

I have a situation where I have to allow the user to update either of 2 fields of a dbgrid(connected to a CDS) persisting the last entered one. So (after user enters data) I need to get the current focused control, so that i will remove the previous field data if it has any. I also have other fields apart from these two.

It was insisted not to use any grid related events, i have to use only CDS event to achieve this.

Thanks in advance,
Vijay.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱给你人给你 2024-10-18 03:26:28

使用字段的 OnChange 事件,并清除其他字段值(如果有):

如下所示:

TForm1.cdsField1Change(Sender: TField);
begin
  if not Sender.IsNull then
    cdsField2.Clear;
end;

TForm1.cdsField2Change(Sender: TField);
begin
  if not Sender.IsNull then
    cdsField1.Clear;
end;

Use the field's OnChange event, and just clear the other field value if any:

Something like this:

TForm1.cdsField1Change(Sender: TField);
begin
  if not Sender.IsNull then
    cdsField2.Clear;
end;

TForm1.cdsField2Change(Sender: TField);
begin
  if not Sender.IsNull then
    cdsField1.Clear;
end;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文