【问题标题】:Bind DataTable to Datagridview that already have column defined into data grid将 DataTable 绑定到已经将列定义到数据网格中的 Datagridview
【发布时间】:2013-09-16 07:02:50
【问题描述】:

我正在尝试将 DateTable 绑定到已经具有在 VS 中使用 Designer 设计的列的 Datagridview。 DataTable 的来源是 sql 数据库。我正在尝试使用以下代码执行此操作,该代码仅在 datagridview 中添加空白行。我还使用 DataTable 中列的名称更新 Datagridview 列的 DataPropertyName 属性

SqlConnection CN = new SqlConnection(mysql.CON.ConnectionString);
dataGridView1.AutoGenerateColumns = false;
DataTable dt = new DataTable();
foreach (DataGridViewColumn col in dataGridView1.Columns)
{
    dt.Columns.Add(col.Name);
    col.DataPropertyName = col.Name;
}
SqlDataAdapter sda = new SqlDataAdapter("select id,name,age,notes  from test where id = '" + txtID.Text + "'", CN);
sda.Fill(dt);
dataGridView1.DataSource = dt;

请帮忙解决这里的错误

【问题讨论】:

  • 你遇到了什么错误?
  • 行显示为空

标签: c# sql datagridview


【解决方案1】:

您可以只定义一个空数据表,而无需从 datagridview 定义列

SqlConnection CN = new SqlConnection(mysql.CON.ConnectionString);
dataGridView1.AutoGenerateColumns = false;
DataTable dt = new DataTable();
SqlDataAdapter sda = new SqlDataAdapter("select id,name,age,notes  from test where id = '" + txtID.Text + "'", CN);
sda.Fill(dt);
dataGridView1.DataSource = dt;

【讨论】:

    猜你喜欢
    • 2013-06-20
    • 2011-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多