Dim cnt As Integer = DataTables("参与人员").DataRows.Count
Dim Val As Double = cnt*0.3
Dim Lng As Long = Math.Ceiling(Val)
Tables("参与人员").StopRedraw()
Dim nds As Integer = Lng '要抽取的记录数
DataTables("参与人员").ReplaceFor("录取状态", "落选")
Do
Dim idx As Integer = rand.Next(0,cnt)
Dim dr As DataRow = DataTables("参与人员").DataRows(idx)
If dr("录取状态") = "落选" Then
dr("录取状态") = "已录取"
dr("录取编号") = lng - nds + 1
nds = nds - 1
End If
Loop While nds > 0
Tables("参与人员").Filter = "[录取状态] = 已录取"
Tables("参与人员").Refresh
Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
lvw.View = ViewMode.Tile '显示模式为平铺
Dim cls() As String = {"姓名","录取编号"} '定义列名
For i As Integer = 0 To cls.Length - 1 '增加列
Dim c As WinForm.ListViewColumn = lvw.Columns.Add()
c.Name = cls(i) '指定列名
Next
For Each dr As DataRow In DataTables("参与人员").Select("[录取状态] = 已录取" ,"录取编号")'从数据表中提取数据
Dim sdt As Date = Date.Now
While Date.Now < sdt.AddSeconds(1)
Application.DoEvents
End While
Dim vr As WinForm.ListViewRow = lvw.Rows.Add()'增加一行
Dim lqbh As String = dr("录取编号") '获取此学生的录取编号
Tables("参与人员").sort = "录取编号"
For Each cl As String In cls '逐列取值
vr(cl) = dr(cl)
Next
Next
出现以下提示:.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.5.29.8
错误所在事件:
详细错误信息:
未找到列 [已录取]。