datagridview オブジェクトを含む Windows フォームがあり、次のコードを使用して、この dgv オブジェクトのデータソースを設定します。
private void Form1_Load(object sender, EventArgs e)
{
notesDataSet = notesClient.GetPatientNotes("6236321.00");
dataGridView1.DataSource = notesDataSet.Tables[0];
}
notesClient.GetPatientNotes()n はデータの取得を行い、正しいデータセットを返します。実際のところ、dgv のデータを実際に見ています。問題は、dgv の値を変更した後、保存ボタンで次のコードを使用することです。
notesDataSet.AcceptChanges();
if (notesDataSet.HasChanges())
{
DataSet editDataSet = notesDataSet.GetChanges();
notesClient.UpdatePatientNotes(editDataSet);
}
データセットにまったく変更がなかったように、if ブロックは実行されません。これで、データセットに直接変更が加えられていないことがわかりましたが、dgv をデータソースにバインドする目的は、dgv への変更がデータセットに反映されることではありません。変更が転送されていないことを見逃しています私のデータセット。私はC#を初めて使用し、以前のプログラミング経験を使用して、dgvをデータソースにバインドすると、dgvからデータセットへの変更が表示され、その逆も同様であると想定しましたか? 私はそれを仮定するのは間違っていますか?