【发布时间】:2013-02-22 09:34:39
【问题描述】:
如何在DataTable 的给定行中迭代所有items。我有以下代码来迭代所有行,我想要另一个 For 循环来迭代给定行中的所有单元格?
For Each row As DataRow In dt.Rows
Next row
我可以访问每一行,但我想访问该行的每一列,因为我不知道列的名称和数量,..
【问题讨论】:
-
你检查过任何答案吗?
如何在DataTable 的给定行中迭代所有items。我有以下代码来迭代所有行,我想要另一个 For 循环来迭代给定行中的所有单元格?
For Each row As DataRow In dt.Rows
Next row
我可以访问每一行,但我想访问该行的每一列,因为我不知道列的名称和数量,..
【问题讨论】:
您的代码是正确的。 你用这个代码...
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
【讨论】:
【讨论】:
你必须遍历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
【讨论】:
var 替换为object 或Dim
for循环而不是foreach
For Each row As DataRow In dt.Rows
For Each column As DataColumn in dt.Columns
Console.WriteLine(row(column))
Next column
Next row
【讨论】: