我想创建一个类别列表,并将每个类别映射到一个ListViewGroup。
作为开始/存根,我有这样的代码("listApplications“是一个ListView):
private ListViewGroup GetGroupForCategoryName(string ACategoryName) {
return listApplications.Groups[0];
}
索引超出范围,必须为非负数且小于集合大小,参数名:...but
因为ListView有一个默认组(我已经读过了),所以我假设元素0就是默认组。我是否需要显式创建默认组,以便0不会超出范围,或者...?
发布于 2012-03-30 16:48:22
使用智能标记或在代码中添加组,然后分配。我不相信有默认设置的组。确保控件位于Details View中。
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);
发布于 2012-03-30 16:46:18
来自MSDN
若要使用分组功能,请将一个或多个ListViewGroup对象添加到ListView控件的Groups集合。在ListViewGroup构造函数中设置组页眉文本和页眉对齐方式,或使用ListViewGroup.Header和ListViewGroup.HeaderAlignment属性设置它们。
因此,MSDN上的示例可以给您一些建议。
https://stackoverflow.com/questions/9947045
复制相似问题