0

如何使用文本框、组合框和日期时间选择器循环和显示记录的最简单方法。

下面是一个代码,但仍然无法弄清楚

Dim dr As DataRow
Dim ds As Dataset
Dim dt As DataTable
<code to fill the dataset>
dt = ds.Tables(0)
For Each dr In dt.Rows
Console.WriteLine (dr("ColName"))
Next
ds.Dispose()
4

1 回答 1

1

您需要两个循环来执行此操作 - 一个用于表中行数的外部循环,一个用于每行中的列的内部循环。

您已经有了 For Each 行,但您需要知道 中有多少列DataRow,并打印出每列中的值。您可以从DataTable.

Dim cols As Integer

cols = dt.Columns.Count - 1

For Each dr in dt.Rows
    For i As Integer = 0 To cols        
        Console.WriteLine(dr(i).ToString())
    Next
Next

请注意,我调用ToString()了从每一列返回的值,并按其序号引用该列。当您访问 DataRow 中的特定列时,它会返回一个Object,因此您需要将该值转换为正确的数据类型以便在程序中使用。

您发布的代码只会打印以“ColName”作为每行列名的列的值。如果您没有名为“ColName”的列,那么您会看到一个错误。

于 2013-05-06T06:25:00.450 回答