以文本方式查看主题

-  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=116685)

--  作者:yangsion
--  发布时间:2018/3/29 13:25:00
--  [求助]listview批量设置

Dim lvw1 As WinForm.ListView = e.Form.Controls("ListView1") \'员工列表
Dim lvw2 As WinForm.ListView = e.Form.Controls("ListView2") \'活动一参与者列表
Dim lvw3 As WinForm.ListView = e.Form.Controls("ListView3") \'活动二参与者列表
Dim lvw4 As WinForm.ListView = e.Form.Controls("ListView1") \'员工列表
Dim lvw5 As WinForm.ListView = e.Form.Controls("ListView2") \'活动一参与者列表
Dim lvw6 As WinForm.ListView = e.Form.Controls("ListView3") \'活动二参与者列表
Dim lvws() As Winform.ListView = {lvw1,lvw2,lvw3,lvw4,lvw5,lvw6} \'看看我们是怎样批量设置某组控件属性的
For Each lvw As WinForm.ListView In lvws
    lvw.View = ViewMode.Tile \'显示模式为平铺
    lvw.Images.LargeSize = New Size(65,75) \'定义大图标尺寸
    lvw.TitleSize = New Size(150,90)  \'设置平铺区域的大小
    lvw.AllowDrag = True
    lvw.AllowDrop = True
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) \'指定列名

照着例子抄,下面的不知道怎么写,

6个表筛选不同的行···一个一个的会写,就是不知道怎么能够简洁一点


此主题相关图片如下:任务计划.jpg
按此在新窗口浏览图片
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:listview精简.zip

[此贴子已经被作者于2018/3/30 3:42:06编辑过]

--  作者:有点甜
--  发布时间:2018/3/29 14:57:00
--  

参考代码

 

Dim tj() As String = {"进程=\'1\'","进程=\'2\'","进程=\'3\'","进程=\'4\'","进程=\'5\'","进程=\'6\'"}

Dim idx As Integer = 0

Dim lvws() As Winform.ListView = {lvw1,lvw2,lvw3,lvw4,lvw5,lvw6} \'看看我们是怎样批量设置某组控件属性的
For Each lvw As WinForm.ListView In lvws

    \'......

    For Each dr As DataRow In DataTables("员工").Select(tj(idx))

 

    Next

    idx = idx + 1

[此贴子已经被作者于2018/3/29 14:57:38编辑过]

--  作者:yangsion
--  发布时间:2018/3/30 3:45:00
--  
例子已上传,麻烦老师有空帮我弄弄看,小学生。。。。 现在这个加载后执行太慢了
--  作者:有点甜
--  发布时间:2018/3/30 9:11:00
--  

Dim tj() As String = {"进程=\'准备\'","进程=\'进行\'","进程=\'中止\'","进程=\'到期\'","进程=\'完成\'","进程=\'取消\'"}

Dim idx As Integer = 0

Dim lvws() As String = {"1", "2", "3", "4", "5", "6"} \'看看我们是怎样批量设置某组控件属性的
For Each s As String In lvws
    Dim lvw As WinForm.ListView = e.form.controls("ListView" & s)
    Tables("任务进度_Table" & s).filter = tj(idx)
    lvw.AllowDrag = True
    lvw.AllowDrop = True
    Lvw.StopRedraw() \'暂停绘制
    Lvw.Rows.Clear() \'清除原来的行
    Lvw.Images.Clear() \'清除原来的图片
    Lvw.View = ViewMode.Tile \'显示模式为平铺
    Lvw.Images.LargeSize = New Size(75,75) \'定义大图标尺寸
    Lvw.TitleSize = New Size(200,100)  \'设置平铺区域的大小
   
   
    \'*****准备
    Dim cls1() As String = {"编号","描述","类别","来源","数量"} \'定义列名
    For i1 As Integer = 0 To  cls1.Length - 1  \'增加列
        Dim c1 As WinForm.ListViewColumn = lvw.Columns.Add()
        c1.Name = cls1(i1) \'指定列名
    Next
   
    For Each dr1 As DataRow In DataTables("任务计划").Select(tj(idx))
        Dim Key1 As String = dr1("照片") \'获取此员工的照片文件
        lvw.Images.AddLargeImage(Key1, Key1) \'添加照片,直接用文件名作为图片键值
        Dim vr1 As  WinForm.ListViewRow =  lvw.Rows.Add() \'增加一行
        vr1.ToolTipText = dr1("备注")  \'设置此行的动态提示
        vr1.ImageKey = Key1 \'设置图片键值
        For Each c1 As String In cls1 \'逐列取值
            vr1.BackColor=  Color.Transparent
            vr1(c1) = dr1(c1)
            vr1.Tag= dr1 \'将DataRow赋值给ListViewRow的Tag属性,将二者联系起来
           
        Next
    Next
idx += 1
    lvw.ResumeRedraw() \'恢复绘制
Next


--  作者:yangsion
--  发布时间:2018/3/31 19:43:00
--  
甜甜老师太牛了,信手拈来啊,啥时候我能这么牛逼就好了
[此贴子已经被作者于2018/3/31 19:42:58编辑过]