代码之家  ›  专栏  ›  技术社区  ›  Kevin Vaughan

数据绑定和错误提供程序-如何提供自定义错误消息?

  •  2
  • Kevin Vaughan  · 技术社区  · 16 年前

    我们使用BusinessObjects,实现 IDataErrorInfo IEditableObject . BindingList 具有这些对象的将添加到bindingsources,这些对象用于在窗体(winforms)上绑定用户控件和数据报。这个 BindingSource 另外设置为数据源 ErrorProvider 形式的。

    我们确实对int和short类型的属性使用了当前的文本框。通过自定义验证(如最小/最大值等)在BusinessObjects中进行验证,这些验证工作正常,因为来自自定义验证的错误消息显示在文本框旁边。

    但是,如果输入大于int的值(例如“9999999999”),那么bindingSource甚至不会尝试将该值输入到businesObject中,而是将错误消息发送给错误提供程序,如“int32的值太大。”。我们不想用“int32”来打扰我们的用户,但需要一个自定义的错误消息。

    很好,bindingSource确实提供了此功能,但是是否可以为此提供自定义错误消息?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Sheridan    14 年前

    你需要设置 FormattingEnabled 属性设置为false以禁用错误处理行为。

    这样地:

    textBox1.DataBindings.Add("Text", bindingSource1, "IntValue", false, 
        System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged);
    
    推荐文章