2012-05-30 20 views
27

Ho un DataSet denominato DataSet1. Contiene un numero sconosciuto di tabelle e un numero sconosciuto di colonne e righe in quelle tabelle. Vorrei scorrere ogni tabella e osservare tutti i dati in ogni riga per ogni colonna. Non sono sicuro di come codificarlo. Qualsiasi aiuto sarebbe apprezzato!Iterate through DataSet

+5

Si prega di indicare una risposta. – jipje44

risposta

14

Proprio anello ...

foreach(var table in DataSet1.Tables) { 
    foreach(var col in table.Columns) { 
     ... 
    } 
    foreach(var row in table.Rows) { 
     object[] values = row.ItemArray; 
     ... 
    } 
} 
+0

Sono confuso .. questo codice eseguirà il loop delle colonne, quindi passerà attraverso le righe .. –

+1

Penso che @Marc stia dimostrando che è possibile eseguire il loop delle colonne: non è necessario se sei solo interessato i valori delle righe, ma se si iterano le colonne è possibile stampare le intestazioni delle colonne che potrebbero essere utili. – RobertMS

+3

@PhillipSchmidt piuttosto tipico se, per esempio, si desidera stampare le intestazioni delle colonne ecc. –

78
foreach (DataTable table in dataSet.Tables) 
{ 
    foreach (DataRow row in table.Rows) 
    { 
     foreach (object item in row.ItemArray) 
     { 
      // read item 
     } 
    } 
} 

Oppure, se avete bisogno di informazioni di colonna:

foreach (DataTable table in dataSet.Tables) 
{ 
    foreach (DataRow row in table.Rows) 
    { 
     foreach (DataColumn column in table.Columns) 
     { 
      object item = row[column]; 
      // read column and item 
     } 
    } 
}