- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个附加到字段Score
的TField.OnGetText
事件的过程,如下所示:
procedure TMyForm.GetScoreText(Sender: TField; var Text: string; DisplayText: Boolean);
begin
if StrToInt(Sender.AsString) >= 80 and StrToInt(Sender.AsString) <= 100 then
Text := 'Great!';
else if StrToInt(Sender.AsString) >= 60 and StrToInt(Sender.AsString) < 80 then
Text := 'Good';
end;
来自OnGetText
documentation ,我知道,当没有定义 OnGetText
处理程序时,该字段的 Text
属性就是 AsString
属性的名称。但我的问题是,定义了 OnGetText
但 Text
时,var
参数 Text
得到什么值?是为字段的当前值定义的。就我而言,当字段 Score
的值小于 60 时,Text
会得到什么值?是Null
,还是空字符串,还是其他什么?我需要明确地知道它,因为有一些逻辑取决于所显示的值。
我从中学到了SO post当 OnGetText
处理程序过程没有代码时,该字段不会显示任何内容,即过程主体为空。
最佳答案
当分配了 OnGetText
且 Text
参数中没有返回任何内容时,结果为空字符串。
查看Db
源代码:
function TField.GetDisplayText: string;
begin
Result := '';
if Assigned(FOnGetText) then
FOnGetText(Self, Result, True) else
GetText(Result, True);
end;
Result
最初设置为空字符串,如果已分配,则将其传递给 FOnGetText
。
关于delphi - TField.OnGetText 中 'Text' 参数的默认值是多少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43913332/
所以我正在开发一个使用数据库网格的表单,我遇到了一个问题,我需要根据金额和 GST 字段自动默认字段。这将始终为用户自动默认我的字段,直到他们手动更改我的字段,此时它显然不会再为该记录默认。 关于如何
我正在使用 TDataSet,其中 CommandText 属性设置为 SQL 查询。我还创建了以下函数,它根据 TDataSet 的字段创建了 SQL 查询的一部分。然而它是不完整的。如您所见,我仍
我有一个 TClientDataSet 与一个查询耦合,其中所有字段都在字段编辑器中定义。 在运行时我添加三个 fkInternalCalc 字段: class procedure TTaskInde
我在客户端数据集中有一个计算字段,名为备忘录类型的完整地址。 我想连接地址字段,像这样: TField* f = customersCDS->FieldByName("full_address
我有一个查询,使用像这样的 TSQLQuery TSQLQuery* tq = new TSQLQuery(NULL); tq->SQLConnection = atdbDM->SQLConnecti
我通常将验证逻辑实现为: procedure TMyDM.IBQueryAMOUNTValidate( Sender: TField); begin inherited; if Sende
连接到网格的数据集具有: TField.DisplayFormat := '$######.00' 我想构建网格特定列中的字符串列表: while NOT DataSet.EOF do Stri
我使用 TField.origin 属性动态构建 SQL 查询的 where 子句。 因此,如果我有一个查询,例如; select p.firstname, p.lastname, g.d
我有一个附加到字段Score 的TField.OnGetText 事件的过程,如下所示: procedure TMyForm.GetScoreText(Sender: TField; var Text
当我们将数据库组件从 ODBC Express 交换到 ADO 时,我们遇到的最大问题之一是 ODBC Express“右修剪”了 CHAR 字段的结果,而 ADO 没有。 CHAR 字段填满了它们的
我有一个包含多个字段的 TClientDataSet,但我收到此异常,我确信我忘记设置一个字段值,但问题是,哪个字段? 是否有某种方法可以快速找出哪个字段引发了此异常? 编辑 我解决了这个问题,我将
我正在尝试创建一个通用的“更新表达式构建器”——一个可以传递的对象,用于指示需要为哪些字段分配什么值。我所做的是: public class UpdateExpression : Dictionary
我的表 Customers 有一个已索引的字段 UserID。 现在,当我从 delphi 中删除此字段时,我将 EOleExecption 作为其索引字段。我尝试使用以下代码: ObjCustome
我是一名优秀的程序员,十分优秀!