Jak dodać nowy DataColumn
do DataTable
obiektu, który już zawiera dane?
Pseudo kod
//call SQL helper class to get initial data
DataTable dt = sql.ExecuteDataTable("sp_MyProc");
dt.Columns.Add("NewColumn", type(System.Int32));
foreach(DataRow row in dr.Rows)
{
//need to set value to NewColumn column
}
dt.AcceptChanges()
po dodaniu nowej kolumny i wartości?Czy nie powinno być
foreach
zamiast dla !?//call SQL helper class to get initial data DataTable dt = sql.ExecuteDataTable("sp_MyProc"); dt.Columns.Add("MyRow", **typeof**(System.Int32)); foreach(DataRow dr in dt.Rows) { //need to set value to MyRow column dr["MyRow"] = 0; // or set it to some other value }
źródło
Oto alternatywne rozwiązanie zmniejszające zapętlenie For / ForEach, skracające czas zapętlania i szybkie aktualizacje :)
dt.Columns.Add("MyRow", typeof(System.Int32)); dt.Columns["MyRow"].Expression = "'0'";
źródło
Tylko chcesz ustawić parametr wartości domyślnej. To wywołanie trzeciej metody przeciążania.
dt.Columns.Add("MyRow", type(System.Int32),0);
źródło
Spróbuj tego
> dt.columns.Add("ColumnName", typeof(Give the type you want)); > dt.Rows[give the row no like or or any no]["Column name in which you want to add data"] = Value;
źródło