2011-12-07 39 views
0

大家好我有一個問題: 在WPF DataGrid中,我有一個可編輯列,這個列表以百分比(%)爲單位進行度量,並且此列中所有行的值總和應該不超過100%。 例如在網格中我們有3行,在這一列中我們有20%20%60%的值。總和爲 將爲100%。用戶可以將60%更改爲75%,總和爲 115%,問題是如何在用戶更改值時驗證所有項目的總和? Standard ValidationRule僅適用於一個單元,它不能幫助我。如何驗證WPF DataGrid列中的所有項目?

請幫我解決這個問題的建議或解決方案。

在此先感謝。

+0

您是否在使用RIA進行數據操作? –

回答

1

而不是試圖驗證DataGrid中的數據,您應該在DataGridCell中的值發生更改後驗證數據源。假設您的DataGridDataSourceDataTable。當單元格值更改回DataTable並在其中迭代所有列值以確保總和小於或等於100.如果不讓用戶知道錯誤

+0

是的,但是如果在數據源中提交了更改的值,如果用戶按Esc鍵,回滾到以前的值。 – Serghei

+0

爲了看看選項WPF進行驗證。按下退出鍵時,DataGrid將自動恢復到最後一個值。查看http://www.codeproject.com/KB/WPF/wpfvalidation.aspx和http://harishasanblog.blogspot.com/2011/01/datagrid-validation-using.html –