Поделиться через


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

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

Screenshot of odd and even ListView groups.

Чтобы включить группирование, необходимо сначала создать одну или несколько групп в конструкторе или программным способом. После определения группы можно назначить элементы 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)
    

См. также