将 DataTable 绑定到已定义列的 Datagridview

Posted

技术标签:

【中文标题】将 DataTable 绑定到已定义列的 Datagridview【英文标题】:Bind DataTable to Datagridview that already have column defined 【发布时间】:2013-06-20 14:53:25 【问题描述】:

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

dataGridView1.AutoGenerateColumns = false;  // Disable autogeneration of columns

DataTable dt = new DataTable();

foreach (DataGridViewColumn col in dataGridView1.Columns)

    dt.Columns.Add(col.Name);

dt = get_data_table("select * from Mytable");
dataGridView1.DataSource = dt;

【问题讨论】:

【参考方案1】:

DataGridView 列具有名为 DataPropertyName 的属性,只需将它们设置为您的 DataTable 列名称即可。

foreach (DataGridViewColumn col in dataGridView1.Columns)

    dt.Columns.Add(col.Name);
    col.DataPropertyName = col.Name;

这应该可以。

【讨论】:

以上是关于将 DataTable 绑定到已定义列的 Datagridview的主要内容,如果未能解决你的问题,请参考以下文章

从datatable里取某行某列的值

使用 TemplateColumns 将 WPF DataGrid 绑定到 DataTable

C# 将 DataTable 绑定到现有 DataGridView 列定义

具有标签的 DataRows 的自定义 DataTable

将数据添加到已存在组合框列的 dataGridView 行

如何在运行时将 Kendo Grid 与 System.Data.DataTable 绑定