遍历特定 DataTable 的行

39

IDE : VS 2008,

平台:.NET 3.5,

大家好,

这是我的DataTable列:

ID Note Detail

我想写出像这样的东西:

//below code block is not the right syntax


For each q in dtDataTable.Column("Detail")

    strDetail = Row of Column Detail

 Next

能否给我一些建议并展示一些代码示例?谢谢。

4个回答

101
For Each row As DataRow In dtDataTable.Rows
    strDetail = row.Item("Detail")
Next row

还有一种简写方式:

For Each row As DataRow In dtDataTable.Rows
    strDetail = row("Detail")
Next row

请注意,微软的.Net风格指南现在明确建议不要使用匈牙利前缀来命名变量。例如,你应该直接使用“Detail”而不是“strDetail”。

顺便说一句,我真的很希望看到对此(以及异步等效项)的支持直接内置到ADO.Net中。


4
Dim row As DataRow
For Each row In dtDataTable.Rows
    Dim strDetail As String
    strDetail = row("Detail")
    Console.WriteLine("Processing Detail {0}", strDetail)
Next row

3

我找到的最佳方法如下:

    For Each row As DataRow In your_table.Rows
        For Each cell As String In row.ItemArray
            'do what you want!
        Next
    Next

1
你想要在.Rows上循环,并像q("column")那样访问行的列。
只需:
        For Each q In dtDataTable.Rows
            strDetail = q("Detail")
        Next

还要确保检查你使用的任何类的msdn文档,并使用智能感知


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接