Добавление значений в определенные ячейки DataTable - программирование
Подтвердить что ты не робот

Добавление значений в определенные ячейки DataTable

Мне интересно, можно ли добавлять значения в определенные ячейки DataTable?

Предположим, что у меня есть существующий dataTable, и я добавляю новый столбец, как бы я хотел добавить в новые строки столбцов, не перезаписывая строки существующих столбцов?

Насколько мне известно, не существует метода для добавления к конкретным ячейкам (если я не ошибаюсь).

  dt.Rows.Add(a, b, c, d)

где a, b, c и d - строковые значения. Так что, если я просто хочу добавить в столбец d?

Любая помощь будет оценена по достоинству.

4b9b3361

Ответ 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"

ИСТОЧНИК ЗДЕСЬ