如何:对 Windows 窗体 ListView 控件中的项进行分组

更新:2007 年 11 月

使用 ListView 控件的分组功能可以用分组形式显示相关项组。在屏幕上,这些组由包含组标题的水平组标头分隔。可以使用 ListView 组按字母顺序、日期或任何其他逻辑组合对项进行分组,从而简化大型列表的导航。下图显示了一些分好组的项。

ListView 已分组的项

ListView 组

若要启用分组,首先必须在设计器中或以编程方式创建一个或多个组。定义组后,可向组分配 ListView 项。此外,可以用编程方式将一个组中的项移至另外一个组中。

说明:

ListView 组仅在应用程序调用 Application.EnableVisualStyles 方法时在 Windows XP Home Edition、Windows XP Professional、Windows Server 2003 上可用。在以前的操作系统上,任何与组有关的代码都无效,并且组也不会出现。有关更多信息,请参见 ListView.Groups

添加组

  • 使用 Groups 集合的 Add 方法。

    ' Adds a new group that has a left-aligned header
    ListView1.Groups.Add(New ListViewGroup("Group 1", _
     HorizontalAlignment.Left))
    
    // Adds a new group that has a left-aligned header
    listView1.Groups.Add(new ListViewGroup("List item text",
        HorizontalAlignment.Left));
    

移除组

  • 使用 Groups 集合的 RemoveAtClear 方法。

    RemoveAt 方法可移除单个组,而 Clear 方法可移除列表中的所有组。

    说明:

    移除某个组时,不会移除该组中的项。

    ' Removes the first group in the collection.
    ListView1.Groups.RemoveAt(0)
    ' Clears all groups:
    ListView1.Groups.Clear()
    
    // Removes the first group in the collection.
    listView1.Groups.RemoveAt(0);
    // Clears all groups.
    listView1.Groups.Clear();
    

向组分配项或在组之间移动项

  • 设置各个项的 ListViewItem.Group 属性。

    ' Adds the first item to the first group
    ListView1.Items.Item(0).Group = ListView1.Groups(0)
    
    // Adds the first item to the first group
    listView1.Items[0].Group = listView1.Groups[0];
    

请参见

任务

如何:使用 Windows 窗体 ListView 控件添加和移除项

概念

Windows XP 功能和 Windows 窗体控件

参考

ListView 控件概述(Windows 窗体)

ListView

ListView.Groups

ListViewGroup

其他资源

ListView 控件(Windows 窗体)