1

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からデータセットへの変更が表示され、その逆も同様であると想定しましたか? 私はそれを仮定するのは間違っていますか?

4

1 に答える 1