System.Data.DataTable无法添加行问题求助及代码示例
解决DataTable无法添加新行的问题
嘿,我瞅见你在给DataTable加行的时候碰钉子了,咱们来拆解下问题根源,再给你修正后的代码~
问题出在哪?
你的代码里有两个关键问题:
- 你把
id列定义成了int类型,但赋值的时候却给了字符串"1",DataTable对类型匹配要求很严格,这种类型不匹配的情况会导致行无法正常添加。 - 最后一行添加行的代码被截断了,看起来你没把创建好的
dataRow对象传进去。
修正后的完整代码
using System.Data; using System.Windows.Forms; namespace DataTableToDGVTest { public partial class Form1 : Form { public Form1() { InitializeComponent(); DataTable dataTable = new DataTable(); // 定义列,id是int类型 dataTable.Columns.Add("id", typeof(int)); dataTable.Columns.Add("name", typeof(string)); // 创建新行并赋值 DataRow dataRow = dataTable.NewRow(); dataRow["id"] = 1; // 这里改成int类型的1,不是字符串"1" dataRow["name"] = "Jesse"; // 将创建好的行添加到DataTable里 dataTable.Rows.Add(dataRow); // 如果要绑定到DataGridView的话,加上这行 dataGridView1.DataSource = dataTable; } } }
额外提示
如果之后需要批量添加行,也可以用更简洁的方式:
// 直接传入列对应的值,不用先创建DataRow dataTable.Rows.Add(2, "Mike");
内容的提问来源于stack exchange,提问作者Jesse A
相关产品推荐
相关产品推荐

