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
相关产品推荐
相关产品推荐

