问题标签 [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.
delphi - TClientDataSet 的 OnValidate
我正在尝试在 TClientDataSet 上的字段上编写 OnValidate 事件,类似于
但是 Sender.AsFloat 始终为 0 - 我如何进行字段级验证(我意识到在这种情况下我可以使用约束或设置 Min/Max 值)
mysql - 如何在 C++ Builder XE 中编辑计算字段值
我有一个显示一些计算字段的 TDBGrid。我正在使用 MySQL 数据库。
我需要编辑一个名为“日期”的计算字段的字段值,但我不能。我尝试编辑其他具有 StringField 类型的名为“Description”的字段并且它有效!
Date 显示修改后的 DateTime 类型值,仅使用 DayOfTheMonth 方法显示 Day。
这个怎么做?是否有任何方法可以编辑计算字段的值?请帮帮我...
提前致谢。
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 对象有什么问题吗?
提前致谢。
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".
delphi - 如何在 TDBGrid 中获取列的标题?
如何获取列的标题TDBGrid
?
我试过这个,但它返回FieldName
而不是标题:
delphi - 如何在 Delphi 的 TStringField.FieldName 属性上使用 Unicode(或只是西里尔字母)字符?
如何在 Delphi的TStringField.FieldName
属性上使用 Unicode(或只是西里尔字母)字符?TClientDataSet
我已经尝试过了,但它在最后一行不起作用:
delphi - 如何阻止 TField.Origin 重置
我使用 TField.origin 属性为 SQL 查询动态构建 where 子句。
所以,如果我有这样的查询;
我可以将名字字段的来源设置为;
然后在动态查询的 where 子句中使用它,例如;
(显然我有额外的代码来防止 SQL 注入)。
我一直这样做,效果很好。然而,当试图追踪一个错误时,我注意到我有一个数据集不断将原点的值重置为;
代替;
我追踪到数据集关闭然后重新打开的时间。但是我一直这样做,所以我不明白为什么一个数据集有不同的行为。
我的问题是如何防止原始值被重置?
validation - 如何从 OnValidate 事件处理程序中检查字段的先前值?
我需要TField
根据字段本身的 previos 值验证 a 的新值。
例如:字段的值只能更改为更大的值
我试图检查OldValue
,和属性NewValue
,但我总是得到新值:AsVariant
Value
希望有人能启发我
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
问题(应该设置Origin
为C.CUSTNO
)还是一个TcxDBFilterControl
问题(这没有考虑到 SQL 文本中可能有别名)。
onchange - 当我们将 tfield 重置为 oldvalue 时,不会触发 tfield.onchange
事件 tfield.onChange 在我们更新记录时被触发,但在我们将其重置为 oldvalue 时不会触发(例如 cancelUpdates 或简单地取消)。我们可以改变这种行为吗?