C # ListView выглядит пустым с группами - PullRequest
8 голосов
/ 10 декабря 2010

В VS2005, используя C #, у меня есть приложение Forms с ListView.Я могу добавить элементы в список просто отлично.Однако, как только я пытаюсь отсортировать эти элементы по группам, они не появляются.Я знаю, что группы не появляются, когда они пусты, но я подтвердил, что эти группы не пусты.Кроме того, у меня есть настройка listView.ShowGroups = true.Если я добавляю элементы в одну из групп, но не во вторую, появляется группа «По умолчанию» ... просто добавленные группы не отображаются!

Вот код, который яЯ использую:

this.listView.View = View.Details;
this.listView.Columns.Add("Column1");
this.listView.Columns[0].Width = this.listView.Width - 20;
this.listView.HeaderStyle = ColumnHeaderStyle.None;
this.listView.Groups.Add(new ListViewGroup("A"));
this.listView.Groups.Add(new ListViewGroup("D"));


foreach(item i in Class.Items)
{
    if (i.Type == Type.A)
        this.listView.Groups[0].Items.Add(i.Name);
    else
        this.listView.Groups[1].Items.Add(i.Name);
}
this.listView.ShowGroups = true;

У кого-нибудь есть идеи, почему мои группы не появляются?Вот скриншот того, что я вижу:

alt text

Ответы [ 2 ]

11 голосов
/ 10 декабря 2010

Не следует добавлять элементы в группу, а следует добавлять элементы в представление списка, и для каждого элемента установите его свойство Group для нужной группы.

Вы можете увидеть пример в этой MSDN ссылке

7 голосов
/ 18 октября 2013

Если элементы добавляются в просмотр списка, когда для значения ShowGroups установлено значение false, а затем для свойства ShowGroups устанавливается значение true, список будет пустым при отображении групп (но с содержимым, когда ShowGroups ложь).

ShowGroups должно быть истинно при построении списка.

Время также важно. Список должен быть отображен до того, как для свойства ShowGroups будет установлено значение false. Я установил его в своем отображаемом диалоге.

Я обнаружил это, работая в .Net 4.0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...