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

C#中DataGridView无法显示数据及创建表格添加文本失败求助

搞定C# DataGridView不显示数据的问题

嘿,我帮你排查下这个DataGridView加了代码却没输出的问题!从你贴的代码片段来看,主要有几个容易忽略的点,咱们一步步修复:

1. 别重复创建列啊!

你把table.Columns.Add()放在了domainUpDown1_SelectedItemChanged事件里,每次下拉选项变化都会重复添加相同的列——这不仅没用,还可能导致DataTable出问题。应该把列的初始化移到只执行一次的地方,比如窗体的构造函数里。

2. 光有列没有行,当然空啦!

你只给DataTable加了列,但完全没添加任何行数据,DataGridView自然啥都不显示。得用table.Rows.Add()把具体的文本、数值塞进去才行。

3. 数据源绑定要到位

确保DataGridView的数据源绑定时机正确,最好提前绑定,数据更新后可以手动触发控件刷新。

修复后的完整代码示例

// 把DataTable定义在事件外面,避免每次触发都重建
DataTable table = new DataTable();

// 窗体构造函数——这里只执行一次
public YourFormName()
{
    InitializeComponent();
    
    // 一次性创建所有列
    table.Columns.Add("BOOK", typeof(string));
    table.Columns.Add("Author", typeof(string));
    table.Columns.Add("Price", typeof(double));
    table.Columns.Add("Quantity", typeof(int));
    
    // 提前绑定数据源到DataGridView
    dataGridView1.DataSource = table;
}

private void domainUpDown1_SelectedItemChanged(object sender, EventArgs e)
{
    // 先清空之前的旧数据(如果需要每次切换都刷新)
    table.Rows.Clear();
    
    // 添加实际的行数据,这里是示例,你换成自己的业务数据就行
    table.Rows.Add("C# 高级编程", "Andrew Troelsen", 89.9, 2);
    table.Rows.Add(".NET 实战指南", "张洪君", 79.0, 1);
    
    // 手动刷新控件,确保数据显示出来
    dataGridView1.Refresh();
}

额外要检查的小细节

  • 确认DataGridView的AutoGenerateColumns属性是true(默认就是true,要是改成false了,得手动给DataGridView加列并绑定对应字段)。
  • 检查dataGridView1控件是不是真的拖到窗体上了,别拼写错控件名。
  • 调试的时候可以看看table.Rows.Count的值,确认有没有数据被成功添加进去。

这样调整后,你再切换下拉选项,DataGridView应该就能正常显示表格和文本内容啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:43:47