Comment “foreach” une colonne dans un DataTable en utilisant C #?

Comment est-ce que chaque colonne est une datarow?

 DataTable dtTable = new DataTable(); MySQLProcessor.DTTable(mysqlCommand, out dtTable); foreach (DataRow dtRow in dtTable.Rows) { //foreach(DataColumn dc in dtRow) } 

Cela devrait fonctionner:

 DataTable dtTable; MySQLProcessor.DTTable(mysqlCommand, out dtTable); // On all tables' rows foreach (DataRow dtRow in dtTable.Rows) { // On all tables' columns foreach(DataColumn dc in dtTable.Columns) { var field1 = dtRow[dc].ToSsortingng(); } } 

Je crois que c’est ce que vous voulez:

 DataTable dtTable = new DataTable(); foreach (DataRow dtRow in dtTable.Rows) { foreach (DataColumn dc in dtRow.ItemArray) { } } 

Vous pouvez le faire comme ceci:

 DataTable dt = new DataTable("MyTable"); foreach (DataRow row in dt.Rows) { foreach (DataColumn column in dt.Columns) { if (row[column] != null) // This will check the null values also (if you want to check). { // Do whatever you want. } } } 
  foreach(DataColumn column in dtTable.Columns) { } 

Quelque chose comme ça:

  DataTable dt = new DataTable(); // For each row, print the values of each column. foreach(DataRow row in dt .Rows) { foreach(DataColumn column in dt .Columns) { Console.WriteLine(row[column]); } } 

http://msdn.microsoft.com/en-us/library/system.data.datatable.rows.aspx

Dans LINQ, vous pouvez faire quelque chose comme:

 foreach (var data in from DataRow row in dataTable.Rows from DataColumn col in dataTable.Columns where row[col] != null select row[col]) { // do something with data } 
 int countRow = dt.Rows.Count; int countCol = dt.Columns.Count; for (int iCol = 0; iCol < countCol; iCol++) { DataColumn col = dt.Columns[iCol]; for (int iRow = 0; iRow < countRow; iRow++) { object cell = dt.Rows[iRow].ItemArray[iCol]; } }