2009-03-05 10 views
22

IDE: VS 2008, Platforma: .NET 3.5,Pętla przez rzędy konkretnego DataTable

Cześć,

Oto moje DataTable kolumny:

ID Uwaga Szczegóły

Chcę napisać coś takiego:

//below code block is not the right syntax 


For each q in dtDataTable.Column("Detail) 

    strDetail = Row of Column Detail 

Next 

Czy ktoś może dać mi propozycję i pokaż mi próbkę kodu? Dzięki.

Odpowiedz

65
For Each row As DataRow In dtDataTable.Rows 
    strDetail = row.Item("Detail") 
Next row 

jest też skrótem:

For Each row As DataRow In dtDataTable.Rows 
    strDetail = row("Detail") 
Next row 

Należy zauważyć, że wytyczne firmy Microsoft dotyczące .Net zalecają obecnie stosowanie prefiksów typu węgierskiego dla zmiennych. Zamiast "strDetail", na przykład, powinieneś po prostu użyć "Detail".

0

Chcesz pętli na .Rows oraz łączyć się z kolumny do wiersza jak Q („kolumny”)

Wystarczy:

 For Each q In dtDataTable.Rows 
      strDetail = q("Detail") 
     Next 

Upewnij się także, by sprawdzić msdn doc dla każdej klasy używasz use + intellisense

1
Dim row As DataRow 
For Each row In dtDataTable.Rows 
    Dim strDetail As String 
    strDetail = row("Detail") 
    Console.WriteLine("Processing Detail {0}", strDetail) 
Next row 
0

Oto najlepszy sposób znalazłem:

For Each row As DataRow In your_table.Rows 
     For Each cell As String In row.ItemArray 
      'do what you want! 
     Next 
    Next