Как перебрать все элементы в данной строке в 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

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

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
Другие вопросы по тегам