Domanda

Ho il seguente codice:

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?

È stato utile?

Soluzione

Il problema che stai riscontrando è 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. Ad esempio, potresti scrivere il seguente codice per aggiornare la colonna " Foo " per essere il valore strVerse

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

Altri suggerimenti

Puoi accedere alle colonne per indice, per nome e alcuni altri modi :

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

Probabilmente dovresti assicurarti che il tuo DataTable abbia prima delle colonne ...

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

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top