Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
lvw.StopRedraw() '暂停绘制
lvw.Rows.Clear() '清除原来的行
lvw.Images.Clear() '清除原来的图片
lvw.View = ViewMode.LargeIcon '显示模式为大图标
lvw.Images.AddLargeImage("笔记本", "e3.ico") '添加代表图标
lvw.Images.AddLargeImage("手机", "n1.ico") '添加代表图标
lvw.Images.AddLargeImage("打印机", "k1.ico") '添加代表图标
lvw.Images.AddLargeImage("记录仪", "f3.ico") '添加代表图标
lvw.Images.AddLargeImage("台式机", "e4.ico") '添加代表图标
lvw.Images.AddLargeImage("录音笔", "m4.ico") '添加代表图标
lvw.Images.AddLargeImage("摄像机", "r6.ico") '添加代表图标
lvw.Images.AddLargeImage("照相机", "r9.ico") '添加代表图标
lvw.Images.AddLargeImage("同录设备", "31.ico") '添加代表图标
lvw.Images.AddLargeImage("屏蔽", "e2.ico") '添加代表图标
Dim cls() As String = {"设备标题","设备状态","uuid"} '定义列名
Dim wds() As Integer = {100,100,150} '定义列宽
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 Each zh As String In DataTables("设备信息").GetValues("设备类别") '增加分组
Dim grp As WinForm.ListViewGroup = lvw.Groups.Add()
grp.Name = zh
grp.Text = zh
Next
For Each dr As DataRow In DataTables("设备信息").dataRows '从数据表中提取数据
Dim vr As WinForm.ListViewRow = lvw.Rows.Add() '增加一行
For Each cl As String In cls '逐列取值
vr(cl) = dr(cl)
Next
vr.Text = dr("设备型号") '设置标题
If dr("设备属性") = "笔记本" Then '设置分组
vr.ImageKey = "笔记本"
Else If dr("设备属性") = "记录仪" Then
vr.ImageKey = "记录仪"
Else If dr("设备属性") = "手机" Then
vr.ImageKey = "手机"
Else If dr("设备属性") = "打印机" Then
vr.ImageKey = "打印机"
Else If dr("设备属性") = "台式机" Then
vr.ImageKey = "台式机"
Else If dr("设备属性") = "录音笔" Then
vr.ImageKey = "录音笔"
Else If dr("设备属性") = "摄像机" Then
vr.ImageKey = "摄像机"
Else If dr("设备属性") = "照相机" Then
vr.ImageKey = "照相机"
Else If dr("设备属性") = "同录设备" Then
vr.ImageKey = "同录设备"
Else If dr("设备属性") = "屏蔽" Then
vr.ImageKey = "屏蔽"
End If
vr.Group = dr("设备类别") '指定所属分组
vr.Tag= dr '将DataRow赋值给ListViewRow的Tag属性,将二者联系起来
Next
lvw.ResumeRedraw() '恢复绘制
选择上述代码生成的图标,然后选择设备外借依旧弹出一楼的错误提示
设备外借项目代码:【红色部分写上后会报错,删除后会正常打开设备外借窗口】
Dim lvw As WinForm.ListView = Forms("首页窗体").Controls("ListView1")
If lvw.Current IsNot Nothing Then
Dim vr As WinForm.ListViewRow = lvw.Current
vars("名称")=vr.text
vars("状态")=vr("设备状态")
Forms("设备外借").open
Else
MessageBox.Show("请在图标处单击【设备外借】增加信息!","温馨提示")
End If
当前代码已经暂定如上。红色部分代码怎么将listview列名对应的值与设备信息表中的值一一对应,并解决vars("状态")=vr("设备状态")报错问题 呢?