2009-03-05 61 views
8

Tengo el siguiente código:¿Cómo puedo actualizar una fila en una DataTable en 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 

Quiero añadir un strVerse a la fila actual.

¿Qué estoy haciendo mal?

Respuesta

12

El problema que se está ejecutando en es que estás tratando de reemplazar un objeto fila completo. Eso no está permitido por la API de 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 código siguiente para actualizar la columna "Foo" sea el valor strVerse

dtResult.Rows(i)("Foo") = strVerse 
5

Se puede acceder a las columnas mediante un índice, por su nombre y algunos other ways:

dtResult.Rows(i)("columnName") = strVerse 

Probablemente debería asegurarse de que su DataTable tiene algunas columnas primeros ...

4
Dim myRow() As Data.DataRow 
myRow = dt.Select("MyColumnName = 'SomeColumnTitle'") 
myRow(0)("SomeOtherColumnTitle") = strValue 

Código anterior instancia un DataRow. Donde "dt" es un DataTable, se obtiene 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.

+0

Algunas palabras serían útiles – demongolem

+0

Se agregó aclaración. – vapcguy

Cuestiones relacionadas