【问题标题】:Is the Default ListView Group not automatically created?默认 ListView 组不是自动创建的吗?
【发布时间】:2012-03-30 16:37:51
【问题描述】:

我想创建一个类别列表并将每个类别映射到一个 ListViewGroup。

作为开始/存根,我有这段代码(“listApplications”是一个 ListView):

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

...但我得到,“索引超出范围。必须为非负数且小于集合的大小。参数名称:索引”

由于 ListView 有一个默认组(所以我已经阅读过),我假设元素 0 将是该默认组。我是否需要显式创建默认组以使 0 不超出范围,或者...?

【问题讨论】:

    标签: c# .net winforms listview


    【解决方案1】:

    使用智能标记或在代码中添加组,然后分配。我不相信默认情况下设置了一个组。确保控件处于详细信息视图中。

    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);
    

    【讨论】:

      【解决方案2】:

      来自MSDN

      要使用分组功能,请将一个或多个 ListViewGroup 对象添加到 ListView 控件的 Groups 集合。设置组标题文本 和 ListViewGroup 构造函数中的标题对齐,或设置它们 使用 ListViewGroup.Header 和 ListViewGroup.HeaderAlignment 属性。

      所以MSDN上的例子可以给你一些建议。

      【讨论】:

      • 谢谢;我知道,但也读到有一个默认组。我认为默认组应该位于 Groups 数组中的索引 0 处。
      猜你喜欢
      • 2019-06-04
      • 2011-11-26
      • 2013-02-13
      • 2020-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-20
      • 2011-05-17
      相关资源
      最近更新 更多