DataGridView按代码添加列

时间:2015-11-24 09:58:19

标签: c# winforms datagridview .net-4.0

我需要动态地向我的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情况:

error

名字似乎正确......

另一个奇怪的事情是第一行显示,但其他人给出异常(查询正常,数据有效......)

这是为表格创建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();

0 个答案:

没有答案