我在表单的事件处理程序期间添加DataGridViewComboBoxColumn
a并设置列中每个的 DataSource 。但是,一旦显示表单,每个表单的 DataSource都已设置为. 这是我用来填充列及其单元格的代码:DataGridView
Load
DataGridViewComboBoxCell
DataGridViewComboBoxCell
null
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;
如果我将它放在表单加载后单击的按钮中,则此代码完全符合预期,但是在表单加载期间执行时,数据源被清除。有什么建议么?