如何添加具有值的新列到现有DataTable?

我有一个DataTable 5列和10行。 现在我想添加一个新的列到DataTable,我想分配DropDownList值到新的列。 所以DropDownList值应该被添加10次到新的列。 这个怎么做? 注意:不使用FOR LOOP。

例如:我的现有DataTable是这样的。

ID Value ----- ------- 1 100 2 150 

现在我想添加一个新的“CourseID”到这个DataTable。 我有一个DropDownList。 它的select值是1.所以我现有的表格应该如下所示:

  ID Value CourseID ----- ------ ---------- 1 100 1 2 150 1 

这个怎么做?

没有For循环:

 Dim newColumn As New Data.DataColumn("Foo", GetType(System.String)) newColumn.DefaultValue = "Your DropDownList value" table.Columns.Add(newColumn) 

这是未经testing的。 我使用了一个在线的C# 转换工具 :

 System.Data.DataColumn newColumn = new System.Data.DataColumn("Foo", typeof(System.String)); newColumn.DefaultValue = "Your DropDownList value"; table.Columns.Add(newColumn); 

添加列并更新DataTable所有行,例如:

 DataTable tbl = new DataTable(); tbl.Columns.Add(new DataColumn("ID", typeof(Int32))); tbl.Columns.Add(new DataColumn("Name", typeof(string))); for (Int32 i = 1; i <= 10; i++) { DataRow row = tbl.NewRow(); row["ID"] = i; row["Name"] = i + ". row"; tbl.Rows.Add(row); } DataColumn newCol = new DataColumn("NewColumn", typeof(string)); newCol.AllowDBNull = true; tbl.Columns.Add(newCol); foreach (DataRow row in tbl.Rows) { row["NewColumn"] = "You DropDownList value"; } //if you don't want to allow null-values' newCol.AllowDBNull = false; 
 //Data Table protected DataTable tblDynamic { get { return (DataTable)ViewState["tblDynamic"]; } set { ViewState["tblDynamic"] = value; } } //DynamicReport_GetUserType() function for getting data from DB System.Data.DataSet ds = manage.DynamicReport_GetUserType(); tblDynamic = ds.Tables[13]; //Add Column as "TypeName" tblDynamic.Columns.Add(new DataColumn("TypeName", typeof(string))); //fill column data against ds.Tables[13] for (int i = 0; i < tblDynamic.Rows.Count; i++) { if (tblDynamic.Rows[i]["Type"].ToString()=="A") { tblDynamic.Rows[i]["TypeName"] = "Apple"; } if (tblDynamic.Rows[i]["Type"].ToString() == "B") { tblDynamic.Rows[i]["TypeName"] = "Ball"; } if (tblDynamic.Rows[i]["Type"].ToString() == "C") { tblDynamic.Rows[i]["TypeName"] = "Cat"; } if (tblDynamic.Rows[i]["Type"].ToString() == "D") { tblDynamic.Rows[i]["TypeName"] = "Dog; } }