delphi – 我可以使用编辑掩码格式化输出吗? (不只是验证输入)
发布时间:2020-12-15 09:16:31 所属栏目:大数据 来源:网络整理
导读:德尔福7问题.我正在使用具有许多数据绑定控件的表单(更改此选项不是一个选项).我有一个绑定到TStringField(具有EditMask属性)的TDBEDIT控件.我知道我可以使用这个EditMask强制控件来验证它的输入,但是我想知道的是我是否可以直接用原始值填充字段并让控件根
德尔福7问题.我正在使用具有许多数据绑定控件的表单(更改此选项不是一个选项).我有一个绑定到TStringField(具有EditMask属性)的TDBEDIT控件.我知道我可以使用这个EditMask强制控件来验证它的输入,但是我想知道的是我是否可以直接用原始值填充字段并让控件根据EditMask显示它?
我想用16位数字填充该字段,但我希望它显示为4个4位数字(即9999 9999 9999 9999). 如果我做 … dbedtABCNumber.DataSource.DataSet.Edit; dbedtABCNumber.Field.Value := '1234567812345678'; 我只显示前4位数字. 我希望那里的人更熟悉旧的数据绑定控件的内部. 解决方法
您可以使用
TField.OnGetText event或
TNumericField.DisplayFormat property修改文本的显示方式.
由于您有一个TStringField持有数字,您有两个选择: >使用TNumericField和DisplayFormat属性 编辑: 山姆用这种方法: 我实现了OnSetText和OnGetText事件处理程序.我已经有了编辑掩码9999 9999 9999 9999; 1; _所以OnSetText就是这样 TStringField(Sender).Value := Trim(Text); 和OnGetText只是 sValue := TStringField(Sender).Value; Text := Format('%s %s %s %s',[Copy(sValue,1,4),Copy(sValue,5,9,13,4)]); 它工作正常.谢谢. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |