Добавление значений в определенные ячейки DataTable
Мне интересно, можно ли добавлять значения в определенные ячейки DataTable?
Предположим, что у меня есть существующий dataTable, и я добавляю новый столбец, как бы я хотел добавить в новые строки столбцов, не перезаписывая строки существующих столбцов?
Насколько мне известно, не существует метода для добавления к конкретным ячейкам (если я не ошибаюсь).
dt.Rows.Add(a, b, c, d)
где a, b, c и d - строковые значения. Так что, если я просто хочу добавить в столбец d?
Любая помощь будет оценена по достоинству.
Ответы
Ответ 1
Если бы это была совершенно новая строка, которую вы хотели установить только одно значение, вам нужно будет добавить всю строку, а затем установить индивидуальное значение:
DataRow dr = dt.NewRow();
dr[3].Value = "Some Value";
dt.Rows.Add(dr);
В противном случае вы можете найти существующую строку и установить значение ячейки
DataRow dr = dt.Rows[theRowNumber];
dr[3] = "New Value";
Ответ 2
Попробуйте следующее:
dt.Rows[RowNumber]["ColumnName"] = "Your value"
Например: если вы хотите добавить значение 5 (номер 5) в первую строку и имя столбца "index", вы должны сделать это
dt.Rows[0]["index"] = 5;
Я считаю, что строка DataTable начинается с 0
Ответ 3
Вы хотите добавить новую строку и только поместить данные в определенный столбец? Попробуйте следующее:
var row = dataTable.NewRow();
row[myColumn].Value = "my new value";
dataTable.Add(row);
Так как это таблица данных, то в каждом столбце всегда будут какие-то данные. Это может быть DBNull.Value
вместо того, какой тип данных вы себе представляете.
Ответ 4
Я думаю, вы не можете этого сделать, но по крайней мере вы можете его обновить. Чтобы отредактировать существующую строку в DataTable, вам нужно найти DataRow, который вы хотите отредактировать, а затем присвоить обновленные значения требуемым столбцам.
Пример
DataSet1.Tables(0).Rows(4).Item(0) = "Updated Company Name"
DataSet1.Tables(0).Rows(4).Item(1) = "Seattle"
ИСТОЧНИК ЗДЕСЬ