Как я могу обновить строку в DataTable в VB.NET?
Вопрос
У меня есть следующий код:
Dim i As Integer = dtResult.Rows.Count
For i = 0 To dtResult.Rows.Count Step 1
strVerse = blHelper.Highlight(dtResult.Rows(i).ToString, s)
' syntax error here
dtResult.Rows(i) = strVerse
Next
Я хочу добавить strVerse
в текущую строку. Р>
Что я делаю не так?
Решение
Проблема, с которой вы сталкиваетесь, заключается в том, что вы пытаетесь заменить весь объект строки. Это не допускается API DataTable. Вместо этого вы должны обновить значения в столбцах объекта строки. Или добавьте новую строку в коллекцию. Р>
Чтобы обновить столбец определенной строки, вы можете получить к нему доступ по имени или индексу. Например, вы можете написать следующий код, чтобы обновить столбец " Foo " быть значением strVerse
dtResult.Rows(i)("Foo") = strVerse
Другие советы
Вы можете получить доступ к столбцам по индексу, имени и некоторым другие способы :
dtResult.Rows(i)("columnName") = strVerse
Возможно, вам следует убедиться, что в вашем DataTable
есть несколько столбцов ...
Dim myRow() As Data.DataRow
myRow = dt.Select("MyColumnName = 'SomeColumnTitle'")
myRow(0)("SomeOtherColumnTitle") = strValue
Код выше создает экземпляр DataRow. Где " dt " является DataTable, вы получите строку, выбрав любой столбец (я знаю, звучит задом наперед). Затем вы можете установить значение для любой строки (я выбрал первую строку или «myRow (0)») для любого столбца, который вы хотите.