Практическое руководство. Группирование элементов в элементе управления ListView в Windows Forms

С помощью функции группировки элемента управления ListView можно отобразить связанные наборы элементов в группах. Эти группы на экране разделены горизонтальными заголовками, содержащими названия групп. Вы можете использовать группы ListView, чтобы упростить навигацию по большим спискам, группируя элементы в алфавитном порядке, по дате или по любой другой логической группировке. На следующем рисунке показаны некоторые сгруппированные элементы.

снимок экрана групп ListView с нечетными и четными значениями.

Чтобы включить группирование, сначала необходимо создать одну или несколько групп в конструкторе или программно. После определения группы можно назначить элементы ListView группам. Вы также можете перемещать элементы из одной группы в другую программным способом.

Добавление групп

  1. Используйте метод Add из коллекции Groups.

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

Удаление групп

  1. Используйте метод RemoveAt или Clear коллекции Groups.

    Метод 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()
    

Назначение элементов группам или перемещение элементов между группами

  1. Задайте свойство ListViewItem.Group отдельных элементов.

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

См. также