2010-01-11 15 views
1

我需要在Silverlight 3 DataGrid中找到一個單元格/列,以便我可以在其上調用UpdateSource。我怎樣才能做到這一點?如何在Silverlight 3 DataGrid中找到一個字段?

這就是爲什麼,如果你有興趣:

我在Silverlight 3的應用,其顯示與DataAnnotations裝飾屬性,如[必填],爲驗證目的對象有一個DataGrid。我從導入的CSV文件填充DataGrid。導入的行將無效,因爲CSV不包含所有必填字段。

如果用戶編輯數據網格中的字段或當我調用提交(這是一個WCF RIA Services應用程序),驗證將起作用。我想要做的事情就是在datagrid加載後立即觸發驗證。從大量的閱讀中,似乎沒有內置的方法來做到這一點。

我想到,如果我可以在數據網格的第一行找到字段並調用UpdateSource(),我會觸發驗證錯誤。我如何導航到手動定義的數據網格?

回答

1

DataGridFieldName.Items,您可以訪問綁定到DataGrid的對象。 您可以通過手動調用Validator.ValidateObject來觸發對此項目的驗證。

var firstRowOfDataGrid = dataGrid.Items [0];
ValidationContext validationContext = new ValidationContext(firstRowOfDataGrid,null,null);
Validator.ValidateObject(this,validationContext);

我不知道這是否解決了你的情況,但它的值得一試。

驗證MSDN上
http://msdn.microsoft.com/en-us/library/dd382100(VS.100).aspx

+0

什麼是DataGridFieldName?我無法在MSDN上找到它。 – ssg31415926 2010-01-25 10:27:25

相關問題