2010-11-27 39 views
-1

我對silverlight數據網格有點問題。我寫了一個小示例應用程序來顯示問題。 (你可以在這裏下載:http://rapidshare.com/files/433480041/DataGridValidationTest.zip)。
在這裏您可以添加一個新的Person(具有名稱和年齡)到顯示在DataGrid中的集合。
我還實現了基於INotifyDataErrorInfo接口的驗證。如果單擊保存,數據將生效(名稱不能爲空,年齡gt 0)。

驗證工作正常,但驗證錯誤僅在單擊到一行時纔會顯示。點擊Save按鈕後,該數據是validatet,但在電網未顯示(見下圖):
Validation is not shown :(DataGrid驗證顯示錯誤問題

如果我的行中單擊,更改數據,如下所示(圖片中的驗證消息): Validation shown

如果我在那一行,我必須解決問題,因爲我無法選擇另一個單元格。

有誰知道,我怎麼能直接在網格中顯示(所有)錯誤? 我能否在沒有解決問題的情況下跳出錯誤單元格?

Thx提前,

TJ

回答

0

據我所知,在Silverlight數據網格,只有一排是活躍的時間,所以如果你想在同一時間valudate所有行,這不可能。

另一個解決方法是將您的所有內容添加到同一個單元格中。所以你所有的數據都是可編輯的,同時它也會被驗證。我的意思是

如果你有2列格 - <DataGrid> <Name> <Age> </DataGrid>

使它看起來像這樣 <Grid> <Cell> <Grid> <Name> <Age> </Grid> </Cell></DataGrid>