10

如何itemsDataTable. 我有以下代码来迭代所有行,我想要另一个 For 循环来迭代给定行中的所有单元格?

For Each row As DataRow In dt.Rows

Next row

我可以访问每一行,但我想访问行上的每一列,因为我不知道列的名称和数量,..

4

4 回答 4

20

您必须遍历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
于 2013-03-07T09:15:27.967 回答
4
For Each row As DataRow In dt.Rows
    For Each column As DataColumn in dt.Columns
        Console.WriteLine(row(column))
    Next column
Next row
于 2015-12-31T12:48:29.207 回答
-1

你的代码是正确的。您使用此代码...

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
于 2013-03-07T09:07:28.747 回答
-2

你也可以用来 DataRow.ItemArray做这项工作

代码看起来像这样

For Each item As var In Row.ItemArray
    //do something
Next
于 2013-03-07T09:13:34.793 回答