C# 如何过滤objectlistview';什么是树景?
我尝试使用文档中的委托过滤C# 如何过滤objectlistview';什么是树景?,c#,.net,winforms,objectlistview,C#,.net,Winforms,Objectlistview,我尝试使用文档中的委托过滤TreeListView: 所以它是这样的: this.myTree.ModelFilter = new ModelFilter(delegate(object x) { return (((MyTreeNode)x).Type == type); // this code doesn't work, why ? }); 因此,myTree应该包括所有具有属性的节点。Type属性等于Type,在我的情况下,树中没有节点,为什么 但是,如果我将.Type属性设置
TreeListView
:
所以它是这样的:
this.myTree.ModelFilter = new ModelFilter(delegate(object x) {
return (((MyTreeNode)x).Type == type); // this code doesn't work, why ?
});
因此,myTree
应该包括所有具有属性的节点。Type
属性等于Type
,在我的情况下,树中没有节点,为什么
但是,如果我将.Type
属性设置为根节点的类型,那么它在树中只会是一个根节点,所以在本例中它可以工作
ETA:为什么使用上述代码进行过滤不起作用 从您的问题来看,还不完全清楚您的
TreeListView
结构是什么样子。但这可能与您想筛选尚未获取的子项(未展开的节点)有关
从已引用的教程链接:
筛选和树状结构视图过滤和树状视图以可预测但可能意外的方式进行交互。
筛选只考虑当前已公开的行(即,它们的所有取消存储都已展开)。
在这些行中,如果筛选将包括行或其任何子行,则筛选过程将包括行。(是的,这是递归的)。如果底层子级与筛选条件匹配,则其所有祖先级也将被视为已匹配,因此将显示在控件中。
在大多数情况下,这会提供最可预测和最有用的视觉效果