解決策が見つからない場合は少し問題があります。DataTableのRejectChanges()はDataGridView内のすべての行を削除します
私はカスタムのdataGridViewを持つフォームを持っています。 このdatagridViewはデータソースを取り込みます。 DataSourceは自分で作成したDatatableです(後でDatabase DataTableに置き換えられます)。 これまでのところすべてが表示されています。
私のフォームには2つのボタンがあります。保存するには 、Cancellには1つ 私がやりたいことは、キャンセルをクリックすると、私のdatagridViewの変更を元のdataTableに戻したいのです。
ボタンをクリックすると、すべての行が削除されます(列はそのまま残ります)。ここ
は、私は私のコードで何をすべきかのexempleです:
public partial class UserControlMyDataGrid : UserControl
{
private DataTable originalDataTable;
public UserControlRechercheDataGrid()
{
InitializeComponent();
originalDataTable = new DataTable();
originalDataTable.Columns.Add("col A", typeof(int));
originalDataTable.Columns.Add("col B");
originalDataTable.Columns.Add("col C", typeof(bool));
originalDataTable.Columns.Add("col D");
for (int j = 0; j < 5; j++)
{
originalDataTable.Rows.Add(j, "c" + j.ToString(), true, "test");
}
dataGridView1.DataSource = originalDataTable;
}
private void buttonCancelModifications_Click(object sender, EventArgs e)
{
originalDataTable.RejectChanges();
dataGridView1.Refresh();
}
}
誰もが、それはこのように動作理由を任意のアイデアがありますか?
ありがとうございます。私はMSDNのドキュメントを読んで、rowstateをチェックしましたが、dattable.RejectChanges()については、追加された状態ではなく、変更された状態と削除された状態についてしか話しませんでした。いずれにしても 。再度、感謝します。これは全体的に多くを明らかにした。 少し質問があります。私はそれを保存したい場合、私は同じことをしなければならない。変更を受け入れてからデータテーブルをエクスポートしてください。 – lolplayer101