对不起,如果这是一个愚蠢的问题。我是新手。我应该如何将组合框添加到datatable,然后将其加载到datagridview中?可以这样做吗?这是最好的方法吗?有关如何执行此操作的提示和教程非常感谢。先感谢您。
string[] columnNames = dataTable.Columns.Cast<DataColumn>().Select(x => x.ColumnName).ToArray();
DataTable dt = new DataTable();
dt.Columns.Add("ColA");
dt.Columns.Add("ColB");
dt.Columns.Add("ColC");
for (int i = 0; i < columnNames.Count(); i++)
{
dt.Rows.Add();
dt.Rows[i][0] = columnNames[i].ToString();
//datatype
string sqlAllTables = "SELECT A, B FROM TB_LOOKUP";
DataSet ds;
ds = databaseManager.GetData(sqlAllTables);
DataGridViewComboBoxCell combo = new DataGridViewComboBoxCell();
combo.DataSource = ds.Tables[0];
combo.DisplayMember = "A";
combo.ValueMember = "B";
dt.Rows[i][1] = combo;
}
dataGridView1.DataSource = dt;
答案 0 :(得分:2)
您无法将控件添加到
DataTable
。
如果您想要显示combobox
,则需要在datagridview
中添加,并将组合框与数据绑定。
var column = new DataGridViewComboBoxColumn();
column.DataSource = ds.Tables[0];
column.DisplayMember = "A";
column.ValueMember = "B";
dataGridView1.Columns.Add(column);
不要添加第三列dt.Columns.Add("ColC");
这将是我们在上面添加组合框的列。