• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:DataGridViewについて)

DataGridViewのデータを編集する方法

このQ&Aのポイント
  • DataGridViewで選択した行のデータを別のDataGridViewに渡す方法と、編集後のデータを元のDataGridViewに反映させる方法について解説します。
  • Form1のDataGridViewから選択した行のデータをForm2のDataGridViewに渡し、Form2で編集したデータをForm1に反映する方法について説明します。
  • DataGridViewの操作で、選択行のデータを別のDataGridViewに渡し、編集後のデータを元のDataGridViewに反映させる方法について解説します。

質問者が選んだベストアンサー

  • ベストアンサー
  • dell_OK
  • ベストアンサー率13% (766/5720)
回答No.2

以前の質問( https://okwave.jp/qa/q10141446.html )で、 Form1のRow.Indexを保持するコードを提供しましたが、 Form2のテーブルに列を追加することはできませんか。 できなければ、Form1の行を探し出す何かしらのキー項目が必要になると思うのですが、コードを見る限り日付と名前と曜日のすべてがForm2で編集可能のようなので、これらをキーにして探し出すことはできそうにありません。 もし、ここに書かれていないだけで、キー項目があるのでしたら、それでForm1の行を探し出すことはできそうな気がします。

MMM5800
質問者

お礼

遅くなってしまいすみませんm(__)m無事解決しました!!ありがとうございました!!

その他の回答 (2)

  • dell_OK
  • ベストアンサー率13% (766/5720)
回答No.3

全然違う方法ですが、Form1のデータテーブルのビューとフィルターを利用して、Form2に表示し、変更をForm1に即時反映させる、と言う方法もあります。 ただ、Form2の保存ボタンは無効となり、変更をキャンセルできません。

  • dell_OK
  • ベストアンサー率13% (766/5720)
回答No.1

問題はこの部分のようです。 ---- // 選択された行のインデックスを取得する int rowIndex = row.Index; ---- このrow.IndexのrowはForm2のdataGridView2.Rowsに基づくものなので、Form1のdataGridView1に基づくRow.Indexを取得する必要があると思います。

MMM5800
質問者

補足

ありがとうございます!!具体的にどのようにしたらよいのでしょうか・・・。試行錯誤してもなかなかできずに困っています(´;ω;`)

関連するQ&A