首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DevExpress Winforms数据绑定:忽略DisplayFormat

DevExpress Winforms数据绑定:忽略DisplayFormat
EN

Stack Overflow用户
提问于 2011-04-14 12:13:40
回答 2查看 2.1K关注 0票数 1

我像这样绑定数据并格式化一个TextEdit控件:

代码语言:javascript
复制
txtArea.DataBindings.Add("EditValue", _ProductItem, "Area", true, DataSourceUpdateMode.OnPropertyChanged);
txtArea.Properties.Mask.EditMask = @"\d*\.{0,1}\d{1,3}";

在这个掩码文本框的属性中,我已经将TextEdit -> -> MaskType的属性设置为RegEx。此外,DisplayFormat -> FormatType的属性是数字,并且FormatString设置为n3。

如果数据绑定EditValue设置为24.12345,那么这就是我运行应用程序时在文本框中显示的内容。但是,我预计只会看到24.123。当我在文本框中单击时,显示的值将正确更改为24.123。但是当我退出textbox时(没有做任何更改),它被设置回原来的EditValue 24.12345。

如果将EditValue硬编码为txtArea.EditValue = 24.12345,则初始显示为24.123,这与预期不谋而合。而在编辑模式下,如预期的那样是24.123。

这就像是DataBinding完全忽略了DisplayFormat属性。有谁有使用DevExpress控件的经验吗?

EN

回答 2

Stack Overflow用户

发布于 2011-04-14 23:36:44

修复方法如下:

将txtArea.Properties.Mask.UseMaskAsDisplayFormat设置为true。

这是有效的,尽管我以前玩过各种格式选项时也尝试过。

票数 4
EN

Stack Overflow用户

发布于 2013-12-03 12:14:16

代码语言:javascript
复制
memoEdit.DataBindings.Add("Text", DataSource, "DataMember", false, DataSourceUpdateMode.OnPropertyChanged);

//或者

代码语言:javascript
复制
 memoEdit.DataBindings.Add("EditValue", DataSource, "DataMember", false, DataSourceUpdateMode.OnPropertyChanged);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5658444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档