次の方法で共有


方法 : 特定のバージョンの DataRow を取得する

更新 : 2007 年 11 月

データ行を変更すると、データセットにその行の元のバージョン (Original) と新しいバージョン (Current) が保存されます。たとえば、AcceptChanges メソッドを呼び出す前にレコードの別のバージョン (DataRowVersion 列挙定数で定義) にアクセスし、そのバージョンに応じて変更を処理できます。

7kd9zhee.alert_note(ja-jp,VS.90).gifメモ :

別のバージョンの行が存在するのは、その行を編集してから AcceptChanges メソッドを呼び出すまでの間です。AcceptChanges メソッドの呼び出し後は、現在のバージョンと元のバージョンが同じになります。

DataRowVersion 値を列インデックス (文字列である列名) と共に渡すと、その列の特定の行バージョンから値が返されます。変更された列は ColumnChanging イベントおよび ColumnChanged イベント中に識別されるため、検証の目的で行バージョンの違いを簡単に調べることができます。ただし、一時的に制約を中断しているときはこれらのイベントは発生しないため、変更された列をプログラムで識別する必要があります。Columns コレクションを反復処理し、異なる DataRowVersion 値を比較することにより変更された列を識別できます。

DataRow の元のバージョンへのアクセス

レコードの元のバージョンを取得するには

  • 取得する行の DataRowVersion を渡して列の値にアクセスします。

    DataRowVersion 値を使って、DataRow の CompanyName フィールドの元の値を取得する例を次に示します。

    Dim originalCompanyName As String
    originalCompanyName = NorthwindDataSet1.Customers(0) _
        ("CompanyName", DataRowVersion.Original).ToString()
    
    string originalCompanyName;
    originalCompanyName = northwindDataSet1.Customers[0]
        ["CompanyName", DataRowVersion.Original].ToString();
    

DataRow の現在のバージョンへのアクセス

レコードの現在のバージョンを取得するには

  • 列の値にアクセスし、取得する行のバージョンを示すインデックスに対するパラメータを追加します。

    DataRowVersion 値を使って、DataRow の CompanyName フィールドの現在の値を取得する例を次に示します。

    Dim currentCompanyName As String
    currentCompanyName = NorthwindDataSet1.Customers(0) _
        ("CompanyName", DataRowVersion.Current).ToString()
    
    string currentCompanyName;
    currentCompanyName = northwindDataSet1.Customers[0]
        ["CompanyName", DataRowVersion.Current].ToString();
    

参照

概念

データの新機能

データの表示の概要

その他の技術情報

アプリケーションでのデータ編集

データの検証

データの保存

データに関するチュートリアル

データ アクセスを使用した作業の開始

Visual Studio でのデータへの接続

アプリケーションでデータを受け取る準備

アプリケーションへのデータのフェッチ

Windows アプリケーションのフォームでのデータの表示