C# 为什么datatable中的自动递增列变为空?

C# 为什么datatable中的自动递增列变为空?,c#,asp.net,c#-4.0,datatable,webforms,C#,Asp.net,C# 4.0,Datatable,Webforms,我在datatable中创建了一个标识列id,其自动递增的值等于true,但它是空的 为什么? Datatable dt= new datatable(); DataColumn dc = new DataColumn("id", typeof(int)); dc.AutoIncrement = true; dc.AutoIncrementSeed = 1; dc.AutoIncrementStep = 1;

我在datatable中创建了一个标识列id,其自动递增的值等于true,但它是空的

为什么?

        Datatable dt= new datatable();

        DataColumn dc = new DataColumn("id", typeof(int));

        dc.AutoIncrement = true;
        dc.AutoIncrementSeed = 1;
        dc.AutoIncrementStep = 1;
        dt.Columns.Add(dc);

        dc = new DataColumn("NITNo", typeof(string));
        dc.DefaultValue = txtNitNo.Text.ToString();
        dt.Columns.Add(dc);

        dc = new DataColumn("WorkNo", typeof(string));
        dc.DefaultValue = txtWorkNo.Text.ToString();
        dt.Columns.Add(dc);
        //dt.Rows.rem

        //Bind Data to GridView
        gvBOQ.Caption = Path.GetFileName(FilePath);
        gvBOQ.DataSource = dt;
        gvBOQ.DataBind();

如果向DataTable添加数据,则必须确保标识列中的值为
null

//create a datatable
DataTable table = new DataTable();

//auto increment column
DataColumn column = new DataColumn("id", typeof(int));
column.AutoIncrement = true;
column.AutoIncrementSeed = 1;
column.AutoIncrementStep = 1;
table.Columns.Add(column);

//add a normal column
column = new DataColumn("value", typeof(string));
table.Columns.Add(column);

//add some data to the table
table.Rows.Add(null, "Netherlands");
table.Rows.Add(null, "Japan");
table.Rows.Add(99, "Australia");
table.Rows.Add(null, "America");
生成的表如下所示

id  value
1   Netherlands
2   Japan
99  Australia
100 America

您好,谢谢抱歉,但我不能插入假数据,因为它会干扰原始数据,并可能导致客户端出现问题。假数据仅用于演示。重要的是,在填充数据表时,id列保留为空。你能修改我的代码吗,因为我对它完全陌生。没有太多可修改的。您只需将数据添加到datatable并将其绑定到GridView。