以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何调整,ListView分组位置  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=49572)

--  作者:ndxfke
--  发布时间:2014/4/20 16:27:00
--  如何调整,ListView分组位置

默认有两个分组,根据界面需求,想第一个分组为功能类,其次是报表类。

 

生成列表时,如何控制呢。

 


图片点击可在新窗口打开查看此主题相关图片如下:11.png
图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2014/4/20 16:34:00
--  
 贴出你生成的代码,你控制一下添加组的顺序就行了。
[此贴子已经被作者于2014-4-20 16:35:27编辑过]

--  作者:ndxfke
--  发布时间:2014/4/20 16:36:00
--  
Dim lv3 As WinForm.ListView = e.Form.Controls("ListView3")
lv3.Reset
    lv3.View = ViewMode.LargeIcon
    Dim gps As new List(of String)
    gps = dt.GetValues("类型","模块名称 = \'" & str & "\'")
    For Each gp As String In gps
        Dim vg As WinForm.ListViewGroup = lv3.Groups.Add
        vg.Name = gp
        vg.Text = gp & "类"
    Next
    For Each dr As DataRow In dt.DataRows
        If dr("模块名称") = str
            Dim key As String = dr("图标")
            lv3.Images.AddLargeImage(key,key)
            Dim vr As WinForm.ListViewRow = lv3.Rows.Add
            vr.ImageKey = key
            vr.Name = dr("功能名称")
            vr.Text = dr("功能名称")
            If dr("类型") = "功能"
                vr.Group = "功能"
            Else
                vr.Group = "报表"
            End If
        End If
    Next

--  作者:有点甜
--  发布时间:2014/4/20 16:39:00
--  

 首先,你去表那里把 类型 的次序调整一下(调整行的位置),然后这样写代码

 

gps = dt.GetValues("类型","模块名称 = \'" & str & "\'","_Sortkey")

 

[此贴子已经被作者于2014-4-20 16:40:35编辑过]

--  作者:ndxfke
--  发布时间:2014/4/20 16:42:00
--  

挺好用。

 

顺便请教下,只这一种办法么


--  作者:有点甜
--  发布时间:2014/4/20 17:09:00
--  
以下是引用ndxfke在2014-4-20 16:42:00的发言:

挺好用。

 

顺便请教下,只这一种办法么

 

你控制一下添加 组 的次序,就行了。或许你可以把代码写死。