|
分類:[C#]
言語:VS2022 C# フレームワーク:Framework 4.7.2 OS:Windows10 WinForms
DataGridViewで1列目のコンボボックスに、ひらがなを選択したら、 2列目のコンボボックスで、「あいうえお」「かきくけこ」…と選択できて 1列目のコンボボックスに、カタカナを選択したら、 2列目のコンボボックスで、「アイウエオ」「カキクケコ」…と選択できるようにしたくて 下記のようなソースを書きました。
DataGridViewComboBoxColumn dgvCombo3 = new DataGridViewComboBoxColumn(); DataGridViewComboBoxColumn dgvCombo4 = new DataGridViewComboBoxColumn();
private void Form1_Load(object sender, EventArgs e) { DataTable dtTest = new DataTable(); DataRow dr; dtTest.Columns.Add("Division_ID"); dtTest.Columns.Add("Division_NM");
dr = dtTest.NewRow(); dr["Division_ID"] = 1; dr["Division_NM"] = "ひらがな"; dtTest.Rows.Add(dr);
dr = dtTest.NewRow(); dr["Division_ID"] = 2; dr["Division_NM"] = "カタカナ"; dtTest.Rows.Add(dr);
Column12.DataSource = dtTest; Column12.DisplayMember = "Division_NM"; Column12.ValueMember = "Division_ID";
}
private void dataGridView2_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex == 2) { if ((dataGridView2.Rows[e.RowIndex].Cells["Column12"].Value == null) ||(string.IsNullOrEmpty(dataGridView2.Rows[e.RowIndex].Cells["Column12"].Value.ToString()))) { } else { DataTable dtTest = new DataTable(); DataRow dr; dtTest.Columns.Add("Division_ID"); dtTest.Columns.Add("Division_NM");
dr = dtTest.NewRow();
if (dataGridView2.Rows[e.RowIndex].Cells["Column12"].Value.ToString() == "1") { dr["Division_ID"] = 1; dr["Division_NM"] = "あいうえお"; dtTest.Rows.Add(dr);
dr = dtTest.NewRow(); dr["Division_ID"] = 2; dr["Division_NM"] = "かきくけこ"; dtTest.Rows.Add(dr);
dr = dtTest.NewRow(); dr["Division_ID"] = 3; dr["Division_NM"] = "さしすせそ"; dtTest.Rows.Add(dr);
} else { dr["Division_ID"] = 1; dr["Division_NM"] = "アイウエオ"; dtTest.Rows.Add(dr);
dr = dtTest.NewRow(); dr["Division_ID"] = 2; dr["Division_NM"] = "カキクケコ"; dtTest.Rows.Add(dr);
dr = dtTest.NewRow(); dr["Division_ID"] = 3; dr["Division_NM"] = "サシスセソ"; dtTest.Rows.Add(dr);
}
Column13.DataSource = dtTest; Column13.DisplayMember = "Division_NM"; Column13.ValueMember = "Division_ID";
}
} }
実行すると、1行目の1列目でひらがなを選択すると2列目の表示が「あいうえお」「かきくけこ」になり、 2行目の1列目でカタカナを選択し、2列目の表示が「アイウエオ」「カキクケコ」となりますが、 3行目になると、1行目と2行目の2列目がカタカナ表示になってしまいます。
それを、1行目はひらがなで、2行目はカタカナが選択された状態にしたいのですがやり方が解らず困っています。
どなたかゆう認識者の方よろしくお願いします
|