最初に、適切な名前のデザイナーを使用して DataGridViewComboBoxColumn を作成します。次に、その datagridview にバインドする文字列リストとその他の文字列値のリストがあるとします。次のコードを使用します。以下のコードは、リストを 2 つの DataGridViewTextBoxCell と DataGridViewComboBoxCell にバインドします。注意 AllCriterias は、2 つの文字列値と文字列のリストを持つリストです。DGVEligibilityCriteria はグリッド名です。
for (int i = 0; i < AllCriterias.Count; i++)
{
DataGridViewTextBoxCell Cmb1 = (DataGridViewTextBoxCell)DGVEligibilityCriteria.Rows[i].Cells[0];
Cmb1.Value = AllCriterias[i].Name;
DataGridViewTextBoxCell Cmb2 = (DataGridViewTextBoxCell)DGVEligibilityCriteria.Rows[i].Cells[1];
Cmb2.Value = AllCriterias[i].Type;
DataGridViewComboBoxCell Cmb = (DataGridViewComboBoxCell)DGVEligibilityCriteria.Rows[i].Cells[2];
foreach (var filtervalue in AllCriterias[i].FilterValues)
{
Cmb.Items.Add(filtervalue);
}
}
selectindex プロパティを設定して、最初のインデックスをデフォルトとして表示する必要があります。このコードを使用します。ここで、「filterValues」は、datagridview デザイナーで作成した DataGridViewComboBoxCell の名前です。
foreach (DataGridViewRow row in DGVEligibilityCriteria.Rows)
{
row.Cells["filterValues"].Value = (row.Cells["filterValues"] as DataGridViewComboBoxCell).Items[0];
}