【问题标题】:DevExpress Winforms Databinding: DisplayFormat IgnoredDevExpress Winforms 数据绑定:DisplayFormat 被忽略
【发布时间】:2011-04-14 04:13:40
【问题描述】:

我正在对 TextEdit 控件进行数据绑定和格式化,如下所示:

txtArea.DataBindings.Add("EditValue", _ProductItem, "Area", true, DataSourceUpdateMode.OnPropertyChanged);
txtArea.Properties.Mask.EditMask = @"\d*\.{0,1}\d{1,3}";

在此 TextEdit 文本框的属性中,我已将 Properties -> Mask -> MaskType 设置为 RegEx。此外,Properties -> DisplayFormat -> FormatType 为 Numeric,FormatString 设置为 n3。

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

如果我像 txtArea.EditValue = 24.12345 这样对 EditValue 进行硬编码,则初始显示为 24.123,如预期的那样。在编辑模式下,它是预期的 24.123。

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

【问题讨论】:

    标签: devexpress


    【解决方案1】:

    解决方法如下:

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

    虽然我之前在使用所有各种格式选项时尝试过,但这很有效。

    【讨论】:

      【解决方案2】:
      memoEdit.DataBindings.Add("Text", DataSource, "DataMember", false, DataSourceUpdateMode.OnPropertyChanged);
      

      //或

       memoEdit.DataBindings.Add("EditValue", DataSource, "DataMember", false, DataSourceUpdateMode.OnPropertyChanged);
      

      【讨论】:

        猜你喜欢
        • 2019-05-02
        • 2017-03-17
        • 2018-06-09
        • 2011-12-12
        • 1970-01-01
        • 2013-08-27
        • 2015-08-29
        • 2011-03-30
        • 1970-01-01
        相关资源
        最近更新 更多