• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Form1からForm2へ値渡しの際)

Form1からForm2へ値渡しの際のDataGridView表示コード

このQ&Aのポイント
  • DataGridViewで複数行選択した場合に、Form2のDataGridViewに選択した行の1列目と3列目を表示するコードを作成します。
  • Form1からForm2への値渡し時に、ダブルクリックするとForm2が選択した行の数だけ表示されるように調整します。
  • Form1のDataGridViewで複数行選択→ダブルクリックすると、Form2のDataGridViewに選択した行の1列目と3列目を適切に表示するコードです。

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

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

Form1ではループしないで、 選択行をForm2のsetRowData()に渡すようにして、 ---- //詳細画面を開く Form2 f2 = new Form2(); //選択行をForm2に渡す f2.setRowData(dataGridView1.SelectedRows); //Form2を開く f2.Show(); ---- Form2でループして行追加するようにしてみてください。 ---- public void setRowData(DataGridViewSelectedRowCollection rows) { // データを作成する DataTable dt = createData(); //選択した行の取得 foreach (DataGridViewRow r in rows) { //1列目と3列目を取り出す string s1 = r.Cells[1].Value.ToString(); string s2 = r.Cells[3].Value.ToString(); //データテーブル(DGVの中身)にいれる dt.Rows.Add("2023年", s1, s2); } //一覧を表示する dataGridViewDisp2(dt); } ----

MMM5800
質問者

お礼

補足の件は私の勘違いでした!笑 すみません><完全解決しました!!本当にありがとうございました!!!

MMM5800
質問者

補足

ありがとうございます!!できました!しかし、2行選んだ場合、2行のDataGridViewにはなったのですが、それが2画面出てきてしまいましたm(__)m

関連するQ&A