簡體   English   中英

將行值添加到具有AutoIncreamented DataColumn的DataTable中

[英]Add Row Values to DataTable Having AutoIncreamented DataColumn

我想在具有數據列的DataTable中添加一行,該列具有自動Increament屬性。

DataTable tblproduct = new DataTable();

DataColumn CartItemId = new DataColumn();
CartItemId.ColumnName = "CartItemId";
CartItemId.DataType = System.Type.GetType("System.Int32");
CartItemId.AutoIncrement = true;
CartItemId.AutoIncrementSeed = 1;
CartItemId.AutoIncrementStep = 1;
CartItemId.ReadOnly = true;
CartItemId.Unique = true;

tblproduct.Columns.Add(CartItemId);
tblproduct.Columns.Add("CampaignId", typeof(int));
tblproduct.Columns.Add("SubCatId", typeof(int));
tblproduct.Columns.Add("Size", typeof(string));
tblproduct.Columns.Add("Qty", typeof(int));

tblproduct.Rows.Add(3, 345,"Hello", 1);
tblproduct.Rows.Add(5, 3455,"Hecfghhgdfllo", 8);

我不想在“自動隱藏”列中插入值。 它應該是自動生成的值,但是上面的代碼對我不起作用。

添加行時,請嘗試類似

        DataRow dr = tblproduct.NewRow();
        dr["CampaignId"] = 3;
        dr["SubCatId"] = 345;
        dr["Size"] = "Hello";
        dr["Qty"] = 1;
        tblproduct.Rows.Add(dr);

也來自DataColumn.AutoIncrement屬性

您可以使用DataRow類的ItemArray屬性並傳遞值數組來創建新行。 對於其AutoIncrement設置為true的列,這是一個潛在的問題,因為其值是自動生成的。 若要使用ItemArray屬性,請將null在數組中列的位置。

將您的代碼更改為

        tblproduct.Rows.Add(null,3, 345, "Hello", 1);
        tblproduct.Rows.Add(null,5, 3455, "Hecfghhgdfllo", 8); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM