我需要动态地向我的DataGridView
添加列...这是我的代码:
dgv.Columns.Clear();
dgv.AutoGenerateColumns = false;
for (int i = 0; i < fields.Length; i++)
{
var newColumn = new DataGridViewColumn(new DataGridViewTextBoxCell());
newColumn.Name = fields[i];
newColumn.DataPropertyName = fields[i];
newColumn.HeaderText = fields[i];
dgv.Columns.Add(newColumn);
}
之后,当我将查询链接到DataSource
时,我检索到此错误:
该值不能为空。 参数名称:columnName
奇怪的是,这是我的DataGridView
/ DataTable
情况:
名字似乎正确......
另一个奇怪的事情是第一行显示,但其他人给出异常(查询正常,数据有效......)
这是为表格创建DataSource
的代码:
public DataTable getData()
{
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand(item.Query, db.getConnection());
SqlDataAdapter dap = new SqlDataAdapter();
dap.SelectCommand = cmd;
dap.Fill(ds);
return ds.Tables[0];
}
之后:
dgv.DataSource = getData();