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