以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  ListView执行时提示未找到列  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=178702)

--  作者:sysckj
--  发布时间:2022/7/16 16:24:00
--  ListView执行时提示未找到列
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
错误所在事件:
详细错误信息:
未找到列 [已录取]。


--  作者:有点蓝
--  发布时间:2022/7/16 16:33:00
--  

Tables("参与人员").Filter = "[录取状态] = \'已录取\'"