问题标签 [tfield]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3838 浏览

delphi - TClientDataSet 的 OnValidate

我正在尝试在 TClientDataSet 上的字段上编写 OnValidate 事件,类似于

但是 Sender.AsFloat 始终为 0 - 我如何进行字段级验证(我意识到在这种情况下我可以使用约束或设置 Min/Max 值)

0 投票
2 回答
578 浏览

mysql - 如何在 C++ Builder XE 中编辑计算字段值

我有一个显示一些计算字段的 TDBGrid。我正在使用 MySQL 数据库。

我需要编辑一个名为“日期”的计算字段的字段值,但我不能。我尝试编辑其他具有 StringField 类型的名为“Description”的字段并且它有效!

Date 显示修改后的 DateTime 类型值,仅使用 DayOfTheMonth 方法显示 Day。

这个怎么做?是否有任何方法可以编辑计算字段的值?请帮帮我...

提前致谢。

0 投票
1 回答
142 浏览

c++builder - TDateTime 值有什么问题

我有一个名为 currMonth 的 TDateTime 变量。currMonth 的值为“2000 年 6 月 30 日晚上 11:59:59”。我需要插入 currMonth 作为 TDBGrid 中名为 dtBegin 的字段的默认值。

我试试这段代码:

并且编译器成功编译了项目,但是当我调试它时,我得到的 dtBegin 值不是“6/30/2000 11:59:59 PM”而是{ 36738.9999999884 }。

有人知道这个 TDateTime 对象有什么问题吗?

提前致谢。

0 投票
2 回答
24723 浏览

database - Delphi TFloatField.DisplayFormat for numeric fields less than 1.0

This is my procedure.

This is work fine until a number like "0.9" has been entered and result will be ".9". How can I have thousand separator and zero before floating point that smaller than "1".

0 投票
1 回答
4117 浏览

delphi - 如何在 TDBGrid 中获取列的标题?

如何获取列的标题TDBGrid

我试过这个,但它返回FieldName而不是标题:

0 投票
1 回答
240 浏览

delphi - 如何在 Delphi 的 TStringField.FieldName 属性上使用 Unicode(或只是西里尔字母)字符?

如何在 Delphi的TStringField.FieldName属性上使用 Unicode(或只是西里尔字母)字符?TClientDataSet

我已经尝试过了,但它在最后一行不起作用:

0 投票
1 回答
196 浏览

delphi - 如何阻止 TField.Origin 重置

我使用 TField.origin 属性为 SQL 查询动态构建 where 子句。

所以,如果我有这样的查询;

我可以将名字字段的来源设置为;

然后在动态查询的 where 子句中使用它,例如;

(显然我有额外的代码来防止 SQL 注入)。

我一直这样做,效果很好。然而,当试图追踪一个错误时,我注意到我有一个数据集不断将原点的值重置为;

代替;

我追踪到数据集关闭然后重新打开的时间。但是我一直这样做,所以我不明白为什么一个数据集有不同的行为。

我的问题是如何防止原始值被重置?

0 投票
1 回答
1156 浏览

validation - 如何从 OnValidate 事件处理程序中检查字段的先前值?

我需要TField根据字段本身的 previos 值验证 a 的新值。

例如:字段的值只能更改为更大的值

我试图检查OldValue,和属性NewValue,但我总是得到新值:AsVariantValue

希望有人能启发我

0 投票
0 回答
238 浏览

delphi - TField的Origin属性含义

TField我对's 的Origin属性有疑问。

文档指出:

Origin仅在设计时由字段编辑器分配,并且仅在TQuery对象使用字段组件时分配。该Origin 属性将出现在其数据集中的字段名称与其所基于的基表中的字段名称区分开来。例如,在使用以下 SQL 语句的查询中, 的Origin值为CUSTOMER.CUSTNO

在这种情况下,FieldName属性是 ID。

注意:Origin在 Linux 上不可用。该Origin属性仅适用于启用 BDE 的 > 数据集,这些数据集仅出现在 Windows 产品中。

但是如果 SQL 文本包含表别名怎么办?

我应该期望Origin价值是CUSTOMER.CUSTNO还是应该是C.CUSTNO

背景说明:

我正在使用 DevExpress TcxDBFilterControl,它使用字段的Origin属性(在TcxDBFilterControl.GetExpressionFieldName, ie中if Origin <> '')而不是FieldName属性来编写 SQL 条件文本。TpFIBDataSet设置Origin为而CUSTOMER.CUSTNO不是C.CUSTNO,所以我想知道这是一个TpFIBDataSet问题(应该设置OriginC.CUSTNO)还是一个TcxDBFilterControl问题(这没有考虑到 SQL 文本中可能有别名)。

0 投票
0 回答
56 浏览

onchange - 当我们将 tfield 重置为 oldvalue 时,不会触发 tfield.onchange

事件 tfield.onChange 在我们更新记录时被触发,但在我们将其重置为 oldvalue 时不会触发(例如 cancelUpdates 或简单地取消)。我们可以改变这种行为吗?