2009-06-26 6 views
2

データセットを使用すると、各行にhasVersion()というメソッドがあります。このメソッドは、その行の元のバージョンと現在のバージョンのコピーを保持しています。元の行の値の1つを取得するにはどうすればよいですか?特定のバージョンのデータセット行を取得するにはどうすればよいですか?

その行の変更を拒否して値を確認することは可能ですが、変更を失うことはなく、値を読み取ることができます。

答えて

4

特定の行を表示している場合、特定の行の値をDataRowVersion列挙型のオーバーロードの1つを介して取得することができます。

SomeDataRow[0, DataRowVersion.Original] //by index 
SomeDataRow["ColumnName", DataRowVersion.Original] //by column name 

は、それに伴い、あなたはデータテーブルの上にGetChanges()メソッドを使用する場合があります。 DataRowState(あなたのケースでは、DataRowState.Modified)を渡し、上記を使用して、変更された行の元の値を取得します。

+0

これはすごくうまくいくように見えますが、私はそれをテストする必要があります。 datagridviewのデータソースとして強く型付けされたデータテーブルを配置すると、データセットに反映されたdatagridviewの変更ですか? – Maslow

+1

はい。実際には、厳密に型指定されているだけでなく、すべてのDataSet/DataTableに固有のものです。 DataSetには、変更を追跡するdiffgramが含まれています。 DataTableにバインドされたDataGridViewがあると仮定すると、変更されたDataRowsには "Modified"というDataRowStateが割り当てられます。 –

+0

ちょうど参考になりましたopsの質問は「特定のバージョンのデータセット行ですか?」でした。データ行の特定のバージョンの列ではありません。 – Ken

関連する問題