【C#】mysqlと接続した状態(Fill)にて、DataGridViewの最後尾にデータを入力、確定させたい。
やりたいこと
エクセルの行をコピーして、DataGridView上にペーストするアプリケーションを
作成したい。
状況
mysqlと接続しない状態では、エクセル行を複数コピーしてペーストできるが、
mysqlと接続した状態(Fill)で実施すると、1行目が確定されない状態で、2行目に
処理がいってしまうので、インデックスエラーとなってしまう。
解決したいこと
やりたいこととしましては、mysqlと接続した状態(Fill)にて、最後尾にどんどん行(データ)を追加していき、追加した行分をUpdateしたい。その為に、まずFill状態でDataGridViewに入れたデータを確定させるヒントを頂きたい。
自分で試したこと
手動では、Fill状態で、DataGridViewの最後尾にデータ手動入力⇒自動で追加行が作成される⇒データ入力の繰り返しにて、最後にUpdateし、mysqlへのUpdateは可能。
Fill状態で、以下のコードを実行したところ、DataGridViewの最後尾に「123」がはいったものの、
その行をクリックすると、入力された「123」が消えてしまう。
よって、Fill状態で、DataGridViewの「123」が確定していないことが原因だと思われ、
dataGridView1.BindingContext[dataGridView1.DataSource].EndCurrentEdit();を入れるも
改善なし。
private void Last_row_Click(object sender, EventArgs e)
{
int dgvRowCnt;
dgvRowCnt = dataGridView1.Rows.Count;
dataGridView1[0, dgvRowCnt-1].Value = "123";
dataGridView1.BindingContext[dataGridView1.DataSource].EndCurrentEdit();
dataTable1BindingSource.AddNew();
}
開発環境
OS :Win10
Visual Studio :2022
MySQL: 8.0.28
MySql.Data: 8.0.29
NET Framework : 4.7.2