Как перебрать все элементы данной строки в DataTable

как повторить все items в заданной строке в DataTable . У меня есть следующий код для итерации всех строк, я хочу, чтобы другой цикл For повторял все ячейки в данной строке ?

For Each row As DataRow In dt.Rows

Next row

Я могу получить доступ к каждой строке, но я хочу получить доступ к каждому столбцу в строке, так как я не знаю имя и количество столбцов,..

4 ответов


вы должны пройти черезDataRow.ItemArray. В C#, мы можем сделать это следующим кодом:

 foreach (DataRow dr in dt.Rows)
   {
     foreach (var item in dr.ItemArray)
       {
                Console.WriteLine(item);
       }
   }

Это эквивалентно следующему VB.NET код.

For Each dr As DataRow In dt.Rows
    For Each item In dr.ItemArray
        Console.WriteLine(item)
    Next
Next

For Each row As DataRow In dt.Rows
    For Each column As DataColumn in dt.Columns
        Console.WriteLine(row(column))
    Next column
Next row

Вы можете использовать DataRow.ItemArray для того чтобы сделать работу также

код будет выглядеть примерно так

For Each item As var In Row.ItemArray
    //do something
Next

ваш код правильный. вы cn используете этот код...

Dim tbl As New DataTable()
Dim datarow As DataRow

tbl.Columns.Add("column1")

datarow = tbl.NewRow()
datarow("column1") = "Data1"

tbl.Rows.Add(datarow)
For Each dr As DataRow In tbl.Rows
    For Each value In dr.ItemArray
       Label1.Text = value.ToString()
    Next
Next