How to add New Column with Value to the Existing DataTable? How to add New Column with Value to the Existing DataTable? asp.net asp.net

How to add New Column with Value to the Existing DataTable?


Without For loop:

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

C#:

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


Add the column and update all rows in the DataTable, for example:

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 DBSystem.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;                    }                }