Foxtable(狐表)用户栏目专家坐堂 → ListView遍历出错


  共有2411人关注过本帖树形打印复制链接

主题:ListView遍历出错

帅哥哟,离线,有人找我吗?
lianghanyu
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:283 积分:2502 威望:0 精华:0 注册:2020/6/28 8:43:00
ListView遍历出错  发帖心情 Post By:2023/11/28 8:35:00 [只看该作者]

以下代码,在遍历第二个For时,会报错提示:


图片点击可在新窗口打开查看此主题相关图片如下:snipaste_2023-11-28_08-29-43.jpg
图片点击可在新窗口打开查看



'================================================================================生成表格
Dim ins() As String = {"产品2D", "产品3D", "物性表", "DFM反馈", "产品反馈", "EGP反馈", "OKTT反馈", "模流反馈", "3D反馈", "热嘴反馈", "信息汇总"}
Dim outs() As String = {"组立图", "修改后产品", "推荐材料", "发出DFM", "产品问题", "发出EGP", "发出OKTT", "模流分析", "3D设计", "热嘴报价", "其它的"}
Dim lvw As WinForm.ListView = Forms("信息总表").Controls("file")
Dim ha As Integer = lvw.Position
lvw.Font = New Font("宋体", 12)'设置字体型号与大小
lvw.StopRedraw() '停止绘制
lvw.Groups.Clear() '清除原来的分组
lvw.Columns.Clear() '清除原来的列
lvw.Rows.Clear() '清除原来的行
lvw.Images.Clear() '清除原来的图片
lvw.GridLines = True '显示网格线
lvw.View = ViewMode.Details '显示模式为详细信息
lvw.Images.LargeSize = New size(32, 32)
Dim cls() As String = {"接收文件", "修改日期1", "发出文件", "修改日期2"} '定义列名
Dim wds() As Integer = {100, 200, 100, 200} '定义列宽
For i As Integer = 0 To cls.Length - 1 '增加列
    Dim c As WinForm.ListViewColumn = lvw.Columns.Add()
    c.Name = cls(i) '指定列名
    c.Text = cls(i) '指定标题,这里标题和列名相同
    c.Width = wds(i) '指定列宽
Next
For k As Integer = 0 To ins.Length - 1 '增加行,这里增加的是接收的行
    Dim r As WinForm.ListViewRow = lvw.Rows.Add()
    If k Mod 2 = 0 Then '除2为偶数    '设置交替行背景颜色
        r.BackColor = Color.DarkSeaGreen 
    End If 
    r("接收文件") = ins(k) 
    r("发出文件") = outs(k)
    
Next

For Each vr As WinForm.ListViewRow In lvw.Rows
    Dim tx As String = vr.Cells("发出文件").Text
      MessageBox.Show(tx)
  
    
Next

'第二个fot语句就会报错??????????????
For Each cr As WinForm.ListViewRow In lvw.Rows
 
    MessageBox.Show(cr.Cells("接收文件").Text)
Next

lvw.ResumeRedraw() '恢复绘制

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110802 积分:563948 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/28 8:40:00 [只看该作者]

第一个列要这样访问

For Each cr As WinForm.ListViewRow In lvw.Rows
    MessageBox.Show(cr.Text)
Next

 回到顶部