如何遍历数据集的行和列

时间:2013-06-02 08:12:53

标签: vb.net

任何人都可以请压缩以下代码吗?

Dim a as integer = 0
    Dim b as integer = 4
    Dim c as integer =4
    Dim d as integer =4

For Each rad As RadioButton In GroupBox1.Controls
    If b > 1 Then
    rad.Text = ds.Tables("questionBank").Rows(a).Item(b)
    b = b - 1
    End If
    Next



    a = a + 1
    For Each rad As RadioButton In GroupBox2.Controls
    If c > 1 Then
    rad.Text = ds.Tables("AddressBook").Rows(a).Item(c)
    c = c - 1
    End If
    Next


    a = a + 1
    For Each rad As RadioButton In GroupBox2.Controls
    If d > 1 Then
    rad.Text = ds.Tables("AddressBook").Rows(a).Item(d)
    d = d - 1
    End If
    Next

我正在开发基于LAN的多选问题MCQ应用程序。 我有一个包含多个组框的表单,每个组包含三个单选按钮。 每个单选按钮的text属性必须显示问题的一个选项,以便用户可以选择其中一个选项作为答案。

数据集'ds'包含问题和答案。每行包含一个问题和三个选项。 问题在第1列,选项分别在第2列和第3列中。

变量a用于遍历行,变量b,c和d用于循环遍历行。

2 个答案:

答案 0 :(得分:0)

尝试:
取代

rad.Text = ds.Tables("questionBank").Rows(a).Item(b)

rad.Text = ds.Tables("questionBank").Rows(a)(b)

答案 1 :(得分:0)

如果您使用编号系统命名您的无线电按钮(即rb00),您可以使用行索引和项目索引按其名称(即GroupBox1.Controls("rb" + rowindex.tostring + itemindex.tostring).text = ds.Tables("questionBank").Rows(rowindex).Item(itemindex))访问无线电按钮。然后使用for循环代替a for each并遍历表行并嵌套for循环以遍历项目。迭代变量成为你的rowindex和itemindex。 Count属性减1将成为您的限制。

您可以使用OfType属性循环遍历组框:

For Each gb As GroupBox in Me.Controls.OfType(Of GroupBox)
    'some code
Next