私はコマンド・クラスを持っていて、実行して元に戻すためにDataGridViewRowをメンバーとして使用しています。コンストラクタのメンバー行(たとえば_row = r;)に入っているdgvrを割り当てようとすると、元のdgvrが元のdgvrが削除されるように、新しいコピーではなく参照を取得しているように見えます。次にメンバー行が空になります)。値によってコピーするDataGridViewRow?
私も行は以下のようにMSDNを経由して「コピー」にしようとしました:
public DataGridViewRow CloneWithValues(DataGridViewRow row)
{
DataGridViewRow clonedRow = (DataGridViewRow)row.Clone();
for (Int32 index = 0; index < row.Cells.Count; index++)
{
clonedRow.Cells[index].Value = row.Cells[index].Value;
}
return clonedRow;
}
これは、しかし、(私は名前でフィールドにアクセスすることができないよう、後ろのスキーマを残しているように見えます例えば_row.Cells ["critical"]。値)。
DataGridViewRowの値でコピーを作成するにはどうすればよいですか?
DataGridViewレベルでスキーマを取得できませんか?別のDataGridViewオブジェクトで複製された行を使用する場合は、元のDataGridViewオブジェクトの複製コピーとして作成すると、DataGridViewオブジェクトにスキーマが含まれているように感じます。 – Arun
私はしばらくの間、厄介な回避策を見つけました:udpateを完了した後に行を削除するのではなく、行を見えないようにしてください。これにより、取り消しが必要な場合に備えてデータが残ります。 – Handprint