2009-03-05 9 views
8

Mam następujący kod:Jak mogę zaktualizować wiersz w DataTable w 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 

Chcę dodać strVerse do bieżącego wiersza.

Co robię źle?

Odpowiedz

12

Problem używasz do jest próbujesz zastąpić cały obiekt wiersza. To nie jest dozwolone przez interfejs DataTable API. Zamiast tego należy zaktualizować wartości w kolumnach obiektu wiersza. Lub dodaj nowy wiersz do kolekcji.

Aby zaktualizować kolumnę danego wiersza, można uzyskać do niego dostęp za pomocą nazwy lub indeksu. Na przykład można napisać następujący kod do aktualizacji kolumna „Foo” być wartość strVerse

powyżej
dtResult.Rows(i)("Foo") = strVerse 
5

można uzyskać dostęp przez indeks kolumny, według nazwy, a niektóre other ways:

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

Należy upewnić się, że prawdopodobnie ma kilka kolumn DataTable pierwsze ...

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

Kod instancję DataRow. Gdzie "dt" jest DataTable, dostajesz wiersz, wybierając dowolną kolumnę (wiem, brzmi do tyłu). Następnie możesz ustawić wartość dowolnego wiersza, który chcesz (wybrałem pierwszy wiersz, lub "myRow (0)") dla dowolnej kolumny.

+0

Kilka słów przydałoby się – demongolem

+0

Dodano wyjaśnienie. – vapcguy

Powiązane problemy