2
データセットを使用すると、各行にhasVersion()というメソッドがあります。このメソッドは、その行の元のバージョンと現在のバージョンのコピーを保持しています。元の行の値の1つを取得するにはどうすればよいですか?特定のバージョンのデータセット行を取得するにはどうすればよいですか?
その行の変更を拒否して値を確認することは可能ですが、変更を失うことはなく、値を読み取ることができます。
データセットを使用すると、各行にhasVersion()というメソッドがあります。このメソッドは、その行の元のバージョンと現在のバージョンのコピーを保持しています。元の行の値の1つを取得するにはどうすればよいですか?特定のバージョンのデータセット行を取得するにはどうすればよいですか?
その行の変更を拒否して値を確認することは可能ですが、変更を失うことはなく、値を読み取ることができます。
特定の行を表示している場合、特定の行の値をDataRowVersion列挙型のオーバーロードの1つを介して取得することができます。
SomeDataRow[0, DataRowVersion.Original] //by index
SomeDataRow["ColumnName", DataRowVersion.Original] //by column name
は、それに伴い、あなたはデータテーブルの上にGetChanges()メソッドを使用する場合があります。 DataRowState(あなたのケースでは、DataRowState.Modified)を渡し、上記を使用して、変更された行の元の値を取得します。
これはすごくうまくいくように見えますが、私はそれをテストする必要があります。 datagridviewのデータソースとして強く型付けされたデータテーブルを配置すると、データセットに反映されたdatagridviewの変更ですか? – Maslow
はい。実際には、厳密に型指定されているだけでなく、すべてのDataSet/DataTableに固有のものです。 DataSetには、変更を追跡するdiffgramが含まれています。 DataTableにバインドされたDataGridViewがあると仮定すると、変更されたDataRowsには "Modified"というDataRowStateが割り当てられます。 –
ちょうど参考になりましたopsの質問は「特定のバージョンのデータセット行ですか?」でした。データ行の特定のバージョンの列ではありません。 – Ken