DataGridView1とDataGridView2をForm1に貼りつけます。
DataGridView1には、Textカラムを1つ(Column1)、ボタンのカラムを1つ(Column2)。用意します
DataGridView2には、Textのカラムを2つ用意します(Column3, Column4)。
DataGridView1のTextカラムには「数字」を入力し、この数分だけDataGridView2のRowを追加します。
つまり、DataGridView1のTextカラムのcellに「5」を入力し、ボタンのカラムのcellをクリックすると、DataGridView2の行数が5行になる状態です。
そして、DataGridView2のColumn3, Column4に値を入れます。(わかりやすく、Column3は名前, Column4は性別とします)
今、DataGridVIew2のRowは5行。そこで、
名前 性別
A 男
B 男
C 女
D 男
E 女
と入力します。
このDataGridView2のデータをプログラム上で保存しておくにはどうすればよいのでしょうか?
C#
1 public partial class Form1 : Form 2 { 3 public Form1() 4 { 5 InitializeComponent(); 6 7 dataGridView1.Rows.Add(); 8 dataGridView1.Rows.Add(); 9 } 10 11 private void dataGridView1_CellContentClick_1(object sender, DataGridViewCellEventArgs e) 12 { 13 DataGridView dgv = (DataGridView)sender; 14 //"Column2"列ならば、ボタンがクリックされた 15 if (dgv.Columns[e.ColumnIndex].Name == "Column2") 16 { 17 dataGridView2.Rows.Clear(); 18 19 for (int i = 0; i < dataGridView1[0, e.RowIndex].Value; i++) 20 { 21 dataGridView2.Rows.Add(); 22 23 } 24 } 25 } 26 }
(例)
DataGridView1の1行目に数字を入力し、ボタンをクリックする。
DataGridView2に名前と性別を入力する。入力完了後、ButtunをFormに貼りつけておくなどしてクリックイベントで入力データを保存(XMLなどファイルではなくプログラム上に保存)。
DataGridView1の2行目に数字を入力し、ボタンをクリックする。
DataGridView2に名前と性別を入力する。入力完了後、ButtunをFormに貼りつけておくなどしてクリックイベントで入力データを保存(XMLなどファイルではなくプログラム上に保存)。
DataGridView1のボタンをクリックすると、先ほど入力したデータがDataGridView2に表示される。
このような結果を得るにはどのようにすればよいのか教えてください。
プログラム上に保存と何度も記載しておりますが、表現が間違っているかもしれません。
結局、DataGridView1の1行目のボタンをクリックしたら、1行目のデータがDataGridView2に表示され、DataGridView1の2行目のボタンをクリックしたら、2行目のデータがDataGridView2に表示されるといった具合です。
よろしくお願いいたします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/09/21 03:27
退会済みユーザー
2017/09/21 03:46
2017/09/21 04:18
退会済みユーザー
2017/09/21 06:10
退会済みユーザー
2017/09/21 06:14
退会済みユーザー
2017/09/21 07:00