我們使用BusinessObjects,實施IDataErrorInfo
和IEditableObject
。 BindingList
將這些對象添加到BindingSources中,這些用於綁定窗體上的UserControls和DataGrid(WinForms)。 BindingSource
另外被設置爲表格的ErrorProvider
的數據源。DataBinding和ErrorProvider - 如何提供自定義錯誤消息?
我們使用當前文本框的類型爲int和short的屬性。它們在BusinessObjects中通過自定義驗證進行了驗證,例如最小/最大值等。這很好,因爲我們的自定義驗證的錯誤消息很好地顯示在TextBox旁邊。但是,如果輸入大於int的值(例如「9999999999」),BindingSource甚至不會嘗試將該值輸入到BusinesObject中,而是將錯誤消息提供給錯誤提供程序,如「The value for Int32太大了。「我們不想用「Int32」來打擾我們的用戶,但需要一個自定義的錯誤消息。
很好,BindingSource確實提供了這個功能,但是可以爲此提供自定義錯誤消息嗎?
即停止這些自動生成的消息。至少第一步。接下來的事情就是捕捉所有輸入,驗證它們並提供自定義錯誤消息。謝謝你。 – 2010-04-14 08:12:46