我在表单的Load
事件处理程序中将DataGridViewComboBoxColumn
添加到DataGridView
,并在列中设置每个DataGridViewComboBoxCell
的数据源。但是,一旦显示表格,每个DataGridViewComboBoxCell
的数据源已被设置为null
。下面是我用填充柱的代码,它的细胞:一旦表格显示,DataGridViewComboBoxCell.DataSource设置为空
DataGridViewComboBoxColumn comboCol;
comboCol = new DataGridViewComboBoxColumn();
comboCol.Name = "ComboCol";
comboCol.HeaderText = "Combo Column";
comboCol.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
this.dgv.Columns.Add(comboCol);
for (int i = 0; i < dgv.Rows.Count; i++)
{
// This datatable is actually populated here!
DataTable myData = PopulatedDataTable(dgv.Rows[i].Cells["info"].Value);
DataGridViewComboBoxCell DCC = new DataGridViewComboBoxCell();
DCC = (DataGridViewComboBoxCell)dgv.Rows[i].Cells["CombolCol"];
DCC.DataSource = myData;
DCC.DisplayMember = "Association"; // Association is a column in myData
DCC.ValueMember = "Association";
}
dgv.Columns["association"].Visible = false;
此代码,如果我把它放在我点击后的形式加载一个按钮,当窗体加载过程中执行的到底是什么预期,但数据源被清除。有什么建议么?
你什么时候设置DataGridView的数据源?尝试在DataGridViewComboBoxCell.DataSource之前设置DataGridView数据源。 –
我已经在单个单元的源代码之前设置了DataGridView的源代码。 –