[英]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);
您可以使用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.