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?

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top