DataGridViewでのカスタムCheckBoxComboBoxコントロールの使用が完了しました。最初に、DataGridViewTextBoxColumnまたはその他の要件を追加して、そのDataGridViewでカスタムCheckBoxComboBox列を次のように追加します。 まずあなたがそのステータスListオブジェクトからListSelectionWrapperのオブジェクトを作成します。そして、あなたはDataGridViewCheckBoxComboBoxColumn
DataGridViewCheckBoxComboBoxColumn comboboxColumn = new DataGridViewCheckBoxComboBoxColumn();
のオブジェクトを作成する必要があり、そのコンボボックス
List<Status> statuses = new List<Status>();
statuses.Add(new Status(1, "Sunday"));
statuses.Add(new Status(2, "Monday"));
statuses.Add(new Status(3, "Tuesday"));
statuses.Add(new Status(4, "Wednesday"));
statuses.Add(new Status(5, "Thursday"));
statuses.Add(new Status(6, "Friday"));
statuses.Add(new Status(7, "Saturday"));
に表示される項目のリストを作成する必要がありますTextSeparatorプロパティを設定します。
ListSelectionWrapper<Object> wrappedList = new ListSelectionWrapper<Object>(statuses);
wrappedList.TextSeparator = comboboxColumn.TextSeparator;
comboboxColumn.DataSource = wrappedList;
comboboxColumn.ValueMember = "Selected";
comboboxColumn.DisplayMemberSingleItem = "Name";
comboboxColumn.DisplayMember = "NameConcatenated";
としてcomboboxColumn他のプロパティを追加し、これはあなたのコラムはあなたのDataGridViewに挿入された後のDataGridView
dgvKioskList.Columns.Add(comboboxColumn);
に列を挿入します。今、事前に選択されたいくつかのリスト項目に新しい行を挿入するために、あなたは
Dictionary<String, Object> objSelectedDays = new Dictionary<String, Object>();
のような辞書オブジェクトを作成する必要があります。たとえばコンボボックスから日曜日と火曜日を選択したい場合は、
objSelectedDays.Add("Sunday", statuses[0]);
objSelectedDays.Add("Tuesday", statuses[2]);
を書くことができあなたは他のデータとこのobjSelectedDaysオブジェクトとDataGridViewのに新しい行を挿入すると、新しい行がグリッドに
datagridView1.Rows.Add("ID1", objSelectedDays);
「ID1」私が追加されます。この後
シンプルDataGridViewTextBoxColumn
に挿入されたのあなたがデータグリッドから選択された値を読みたい場合は、その後、
var values = datagridView1.Rows[0].Cells[1].Value as Dictionary<String, Object>;
のような辞書オブジェクトにセルをキャスト入力し、ループの値は、から選択された値を読み取るために、配列オブジェクトものの特定の行CheckBoxComboBoxコントロール