如何解决在TreeListView中分组c#
我使用Phillip Piper的ObjectListView
中的组件TreeListView
。
我想要带有组的树形视图,但是组不创建。
有人可以帮忙吗?
我想要它:
| Column 1 | Column 2 | Column 3 |
== Group 1 [2 items] ===========================
+ Item 1 | Value 1 | Value 2 |
Item 2 | Value 1 | Value 2 |
- Item 3 | Value 1 | Value 2 |
Sub Item 1 | Value 1 | Value 2 |
Sub Item 2 | Value 1 | Value 2 |
== Group 2 [N items] ===========================
+ Item 1 | Value 1 | Value 2 |
...
更新:
我的模特
public class Model
{
public string Name { get; set; }
public string Type { get; set; }
public int[] Items { get; set; }
}
使用Gettter获取每个行对象的外观
olvColumnName.AspectGetter = delegate (object rowObject)
{
if (rowObject is Model model)
return model.Name;
else if (rowObject is int numb)
return numb.ToString();
return null;
}
组密钥获取器
olvColumnType.GroupKeyGetter = delegate (object rowObject)
{
if (rowObject is Model model)
return model.Type;
return null;
}
检查展开
treeListView1.CanExpandGetter = delegate (object rowObject)
{
if (rowObject is Model model)
return model.Items != null && model.Items.Length > 0;
return false;
};
找大个孩子
treeListView1.ChildrenGetter = delegate (object rowObject)
{
if (rowObject is Model model)
return model.Items;
return null;
};
更新:
我发现,对于TreeListView
组件,未定义GroupingStrategy
属性,并且确实覆盖了CanShowGroups
属性,该属性始终返回false
。
因此,我认为该组件具有从ObjectListView
继承的属性,但未使用它们,并且该模式不支持。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。