Группа ListView по умолчанию не создается автоматически? - PullRequest
0 голосов
/ 30 марта 2012

Я хочу создать список категорий и сопоставить каждую категорию с ListViewGroup.

Как старт / заглушка, у меня есть этот код ("listApplications" - это ListView):

private ListViewGroup GetGroupForCategoryName(string ACategoryName) {
  return listApplications.Groups[0];
}

... но я понимаю, "Индекс был вне диапазона.Должен быть неотрицательным и меньше размера коллекции. Имя параметра: index "

Поскольку ListView имеет группу по умолчанию (поэтому я прочитал), я предположил, что элемент 0 будет этой группой по умолчанию,Нужно ли явно создавать группу по умолчанию, чтобы 0 не выходил за пределы диапазона, или ...?

Ответы [ 2 ]

2 голосов
/ 30 марта 2012

Добавьте группы, используя смарт-тег или код, а затем назначьте.Я не верю, что есть группа, установленная по умолчанию.Убедитесь, что элемент управления находится в режиме просмотра сведений.

VB

ListView1.ShowGroups = True
ListView1.View = View.Details

Dim iFirstGroup As Integer, iSecondGroup As Integer

iFirstGroup = ListView1.Groups.Add(New ListViewGroup("Test 1"))
iSecondGroup = ListView1.Groups.Add(New ListViewGroup("Test 2"))

ListView1.Columns.Add("Test Col")

ListView1.Items.Add(New ListViewItem("I'm in Group 1") With {.Group = ListView1.Groups(iFirstGroup)})
ListView1.Items.Add(New ListViewItem("I'm in Group 2") With {.Group = ListView1.Groups(iSecondGroup)})

C #

listView1.ShowGroups = true;
listView1.View = View.Details;

int iFirstGroup = 0;
int iSecondGroup = 0;

iFirstGroup = listView1.Groups.Add(new ListViewGroup("Test 1"));
iSecondGroup = listView1.Groups.Add(new ListViewGroup("Test 2"));

listView1.Columns.Add("Test Col");

ListViewItem lvi1 = new ListViewItem("I'm in Group 1");
lvi1.Group = listView1.Groups[iFirstGroup];

ListViewItem lvi2 = new ListViewItem("I'm in Group 2");
lvi2.Group = listView1.Groups[iSecondGroup];

listView1.Items.Add(lvi1);
listView1.Items.Add(lvi2);
1 голос
/ 30 марта 2012

С MSDN :

Чтобы использовать функцию группировки, добавьте один или несколько объектов ListViewGroup в коллекцию Groups элемента управления ListView.Задайте текст заголовка группы и выравнивание заголовка в конструкторе ListViewGroup или задайте их, используя свойства ListViewGroup.Header и ListViewGroup.HeaderAlignment.

Так что пример на MSDN может дать вам несколько советов.

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