it-swarm.com.ru

Как добавить новый столбец со значением в существующую таблицу данных?

У меня есть один DataTable с 5 столбцами и 10 строк. Теперь я хочу добавить один новый столбец в DataTable и назначить значение DropDownList для нового столбца. Поэтому значение DropDownList должно быть добавлено 10 раз к новому столбцу. Как это сделать? Примечание: без использования FOR LOOP.

Например: Мой существующий DataTable похож на это.

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

Теперь я хочу добавить одну новую колонку "CourseID" в эту таблицу данных. У меня есть один DropDownList. Его выбранное значение равно 1. Итак, моя существующая таблица должна быть такой:

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

Как это сделать?

62
thevan

Без цикла For:

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);
115
Keith Walton

Добавьте столбец и обновите все строки в 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;
13
Tim Schmelter