¿Cómo puedo actualizar una fila en un DataTable en VB.NET?
Pregunta
Tengo el siguiente código:
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
Quiero agregar un strVerse
a la fila actual.
¿Qué estoy haciendo mal?
Solución
El problema con el que te encuentras es que intentas reemplazar un objeto de una fila completa. Eso no está permitido por la API DataTable. En su lugar, debe actualizar los valores en las columnas de un objeto de fila. O agregue una nueva fila a la colección.
Para actualizar la columna de una fila en particular, puede acceder a ella por nombre o índice. Por ejemplo, podría escribir el siguiente código para actualizar la columna " Foo " ser el valor strVerse
dtResult.Rows(i)("Foo") = strVerse
Otros consejos
Puede acceder a las columnas por índice, por nombre y algunos otras formas :
dtResult.Rows(i)("columnName") = strVerse
Probablemente debería asegurarse de que su DataTable
tenga algunas columnas primero ...
Dim myRow() As Data.DataRow
myRow = dt.Select("MyColumnName = 'SomeColumnTitle'")
myRow(0)("SomeOtherColumnTitle") = strValue
El código anterior crea una instancia de DataRow. Donde '' dt '' es una DataTable, obtienes una fila seleccionando cualquier columna (lo sé, suena al revés). Luego, puede establecer el valor de la fila que desee (elegí la primera fila, o " myRow (0) "), para la columna que desee.