Boucle à travers les rangées d'un DataTable particulier

IDE: VS 2008, Plate-forme: .NET 3.5,

Salut,

Voici mes colonnes datables:

ID Remarque de Détail

je veux écrire qqch comme ceci :

//below code block is not the right syntax


For each q in dtDataTable.Column("Detail)

    strDetail = Row of Column Detail

 Next

quelqu'un peut-il me donner une suggestion et me montrer un échantillon de code s'il vous plaît ? Grâce.

23
demandé sur Joel Coehoorn 2009-03-05 07:10:14

4 réponses

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

Il y a aussi un raccourci:

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

notez que les directives de style de Microsoft pour .Net recommandent maintenant spécifiquement de ne pas utiliser les préfixes de type hongrois pour les variables. Au lieu de "strDetail", par exemple, vous devriez utiliser "Détail".

67
répondu Joel Coehoorn 2009-03-05 04:18:32
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
1
répondu jason 2009-03-05 04:18:58

vous voulez boucler la boucle .Lignes, et accéder à la colonne pour la ligne comme q ("colonne")

Juste:

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

assurez-vous aussi de vérifier msdn doc pour toute classe que vous utilisez + utilisez intellisense

0
répondu eglasius 2009-03-05 04:23:52

Voici la meilleure façon que j'ai trouvé:

    For Each row As DataRow In your_table.Rows
        For Each cell As String In row.ItemArray
            'do what you want!
        Next
    Next
0
répondu BR1COP 2016-01-11 14:44:37