いつもお世話になっております。
C#でWindowsFormアプリケーションを作成しております。
取得したデータをDataGridViewに表示しています。取得したデータによってコンボボックスの中身を動的に変更したいです。
以下のプログラムでDataTableを作成し動的にコンボボックスをDataGridViewに追加することができましたが、DataGridViewComboBoxColumnのDataSourceが全行共通のDataSourceのためか(予想です)行ごとに変更ができませんでした。
C#
1 DataTable test = new DataTable("test"); 2 test.Columns.Add("Display", typeof(string)); 3 test.Columns.Add("Value", typeof(int)); 4 test.Rows.Add("A", 0); 5 test.Rows.Add("B", 1); 6 test.Rows.Add("C", 2); 7 test.Rows.Add("D", 3); 8 test.Rows.Add("E", 4); 9 test.Rows.Add("F", 5); 10 test.Rows.Add("G", 6); 11 12 //DataGridViewComboBoxColumnを作成 13 DataGridViewComboBoxColumn column = new DataGridViewComboBoxColumn(); 14 //DataGridViewComboBoxColumnのDataSourceを設定 15 column.DataSource = test; 16 //実際の値が"Value"列、表示するテキストが"Display"列とする 17 column.ValueMember = "Value"; 18 column.DisplayMember = "Display"; 19 column.Name = "曜日"; 20 //DataGridView1に追加する 21 dataGridView1.Columns.Add(column);
DataGridViewComboBoxColumn としているところを DataGridViewComboBoxCellにすることによって目的は果たせそうですが、どのようにしてコンボボックスのセルに設定するかがわからないです。
自分自身もよくわかっていないのでふわふわとした質問で申し訳ないのですが、よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー