以文本方式查看主题 - 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 -- |