我有一個DataTable,我綁定到WPF中的DataGrid。在XAML中沒有生成列,當我在代碼中創建DataTable時,所有事情都完成了。直接綁定到DataTable時驗證DataGrid數據 - C#/ WPF
我有2路綁定,所以用戶可以更新DataGrid中的值,它將更新DataTable,雖然這不是我調試時可以看到的事件,但我的結果顯示它按預期工作。
但是,如果列的類型是double,並且用戶輸入文本,則該單元格的現有DataTable數據將被保留,單元格將以紅色標出,而我的調試器輸出會顯示FormatException發生。
我所想要做的是能夠之一:
一)處理這個異常,並顯示一個警告用戶在我UI
二)有一定可設置自定義的驗證方法在我的代碼標誌,我可以用來處理在某些時候的錯誤
我不介意我去哪個解決方案,我只是不希望用戶不會注意到錯誤。
謝謝。
感謝您的回覆,我無法遵循,因爲我沒有任何數據集可以在數據集設計器中打開。我在我需要的類的實例中創建並填充綁定的數據表。 – 2014-10-01 13:15:41
你不需要設計師。你簡單的使用DataTable.ColumnChanging事件。在那裏你可以用SetColumnError設置你的驗證規則。請參閱我的編輯 – blindmeis 2014-10-01 13:30:27
謝謝,只是在嘗試修改正確類型的數據時調用該事件時,如果用戶輸入的數據類型錯誤,則不會調用它。與之前一樣,該框突出顯示爲紅色,格式異常由wpf處理,但事件未被調用。 – 2014-10-01 13:50:58