You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中如何将数据库值绑定到已创建列的DataGridView?

解决DataGridView绑定数据时重复生成列的问题

核心解决思路

问题根源是DataGridView默认会自动根据数据源生成列,只要关闭这个自动生成逻辑,再让手动创建的列和数据源列对应上即可。

具体步骤

  1. 关闭自动生成列属性
    在绑定数据源之前,添加一行代码禁用自动生成列:
dataGridView1.AutoGenerateColumns = false;
  1. 匹配手动列与数据源列
    确保你提前创建的每一列的DataPropertyName属性,和DataSet里users表的列名完全一致(区分大小写)。比如:
  • 若数据源列名为user_id,手动创建的“用户ID”列就把DataPropertyName设为user_id
  • 设计界面里可在属性窗口找到该属性设置,代码创建列则直接赋值:column.DataPropertyName = "user_id";

修改后的完整代码

SqlDataAdapter da = new SqlDataAdapter(query, connection);
DataSet ds = new DataSet();
da.Fill(ds, "users");
// 关闭自动生成列,避免新增重复列
dataGridView1.AutoGenerateColumns = false;
// 绑定数据源到预先创建的列
dataGridView1.DataSource = ds.Tables["users"];

额外检查项

  • 确认手动列的数量、DataPropertyName和数据源列完全对应,否则会出现部分列无数据的情况
  • 若仍有异常,检查数据源表的列名是否和设置的DataPropertyName完全一致

内容的提问来源于stack exchange,提问作者Nuisance

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 01:11:00