HOW TO:取得特定版本 DataRow
變更資料列時,資料集會同時保留資料列的原始 (Original) 和新的 (Current) 版本。 例如,在呼叫 AcceptChanges 方法之前,您的應用程式可以存取資料錄的不同版本 (在 DataRowVersion 列舉型別中定義) 並依此處理變更。
注意事項 |
---|
只有在編輯資料列之後,以及呼叫 AcceptChanges 方法之前,才會存在不同版本的資料列。在呼叫 AcceptChanges 方法之後,目前和原始版本都相同。 |
傳遞 DataRowVersion 值和資料行索引 (或是當做字串的資料行名稱),會從這個資料行的特定資料列版本傳回值。 在 ColumnChanging 和 ColumnChanged 事件期間會識別變更的資料行,因此這時正好可檢查不同資料列版本來進行驗證。 不過,如果您暫停使用條件約束,則不會引發這些事件,而您就需要利用程式來辨識已變更的資料行。 您可逐一查看 Columns 集合並比較不同的 DataRowVersion 值來進行此動作。
存取 DataRow 的原始版本
若要取得資料錄的原始版本
存取您想傳回的資料列 DataRowVersion 中傳入的資料行值。
以下範例將示範如何使用 DataRowVersion 值,取得 DataRow 中 CompanyName 欄位的原始值:
Dim originalCompanyName = NorthwindDataSet1.Customers(0)( "CompanyName", DataRowVersion.Original).ToString()
string originalCompanyName; originalCompanyName = northwindDataSet1.Customers[0] ["CompanyName", DataRowVersion.Original].ToString();
存取 DataRow 的目前版本
若要取得資料錄的目前版本
存取資料行的值,接著將表示您要傳回資料列版本的參數加入索引。
以下範例將示範如何使用 DataRowVersion 值,取得 DataRow 中 CompanyName 欄位的目前值:
Dim currentCompanyName = NorthwindDataSet1.Customers(0)( "CompanyName", DataRowVersion.Current).ToString()
string currentCompanyName; currentCompanyName = northwindDataSet1.Customers[0] ["CompanyName", DataRowVersion.Current].ToString();
請參閱
概念
Visual Studio 2012 中資料應用程式開發的新功能
將 Windows Form 控制項繫結至 Visual Studio 中的資料