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

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:34:59