2009-03-05 44 views
8

Ho il codice seguente:Come posso aggiornare una riga in un DataTable in 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 

voglio aggiungere un strVerse alla riga corrente.

Cosa sto sbagliando?

risposta

12

Il problema si sta eseguendo in è che stai cercando di sostituire un intero oggetto riga. Ciò non è consentito dall'API DataTable. Invece devi aggiornare i valori nelle colonne di un oggetto riga. Oppure aggiungi una nuova riga alla raccolta.

Per aggiornare la colonna di una particolare riga è possibile accedervi per nome o indice. Per esempio si potrebbe scrivere il codice seguente per aggiornare la colonna "Pippo" per essere il valore strVerse

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

È possibile accedere colonne di indice, per nome e alcuni other ways:

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

Probabilmente si dovrebbe assicurarsi che il proprio DataTable ha alcune colonne primi ...

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

codice sopra un'istanza di un DataRow. Dove "dt" è un DataTable, si ottiene una riga selezionando qualsiasi colonna (lo so, si sente all'indietro). Quindi puoi impostare il valore di qualsiasi riga desideri (ho scelto la prima riga, o "myRow (0)"), per qualunque colonna tu voglia.

+0

Alcune parole sarebbero utili – demongolem

+0

Aggiunti chiarimenti. – vapcguy

Problemi correlati