蓝总:以下是论坛<驾驶员理论考试模拟系统》的关于如何组组题的代码,就这个实现看的云里雾里,能不能将黄色部分关键代码解释下
Tables("试题库").Redraw = False
Tables("试题库").Filter = ""
Tables("试题库").Sort = ""
For i As integer = 0 to Tables("试题库").rows.count -1
Tables("试题库").Rows(i)("随机值") = Rand.Next(10000)
Next '排随机值
For Each dr As DataRow in DataTables("试题库").DataRows
dr("信息") = Nothing
dr("序号") = Nothing
Next '清空指定列的数据
Dim fls As List(Of String) = DataTables("试题库").GetUniqueValues("","分类")
For Each fl As String In fls
'获得该分类的全部行
Dim drs As List(Of DataRow) = DataTables("试题库").Select("[分类] = '" & fl & "'", "随机值")
For n As integer = 0 To drs.Count - 1 '遍历所有行
drs(n)("组题") = n + 1 '编号排序
Next
Next
Dim Str As String
For Each fl As String In fls
Dim dr As DataRow = DataTables("组题方式").Find("[试题] = '" & fl & "'")
'组合字符串
str = str & " or [分类] = '" & fl & "' And [组题] <= " & dr(Vars("车型"))*100
Next '筛选
Tables("试题库").Filter = str.SubString(4)
Tables("试题库").Sort = "随机值,题型"
For i As integer = 0 to Tables("试题库").rows.count -1
Tables("试题库").Rows(i)("序号") = i + 1
Next '对序号我按筛选行的顺序赋值
Tables("试题库").Redraw = True