【问题标题】:How to filter objectlistview's TreeListView?如何过滤objectlistview的TreeListView?
【发布时间】:2013-03-18 07:59:25
【问题描述】:

我尝试使用文档中的代表过滤TreeListViewFiltering ObjectListView

原来是这样的:

this.myTree.ModelFilter = new ModelFilter(delegate(object x) {
    return (((MyTreeNode)x).Type == type); // this code doesn't work, why ?
});

因此,myTree 应该包括所有具有.Type 属性等于type 的节点,在我的情况下,树中没有节点,为什么???。

但是,如果我将.Type 属性设置为根节点的类型,那么它将只是树中的一个根节点,所以在这种情况下它可以工作。

ETA:为什么用上面的代码过滤不起作用?

【问题讨论】:

    标签: c# .net winforms objectlistview


    【解决方案1】:

    根据您的问题,您的 TreeListView 结构的外观并不完全清楚。但这可能与您想要过滤尚未获取的子项(未展开的节点)这一事实有关?

    来自您已经引用的教程链接:

    过滤和 TreeListViews
    过滤和 TreeListView 以可预测但可能出乎意料的方式交互。
    过滤仅考虑当前公开的行(即,展开其所有祖先)。
    在这些行中,如果行或它们的任何后代将包含在过滤中,则过滤过程将包含这些行。 (是的,这是递归的)。如果底层子级匹配过滤条件,则其所有祖先都将被视为已匹配,因此将显示在控件中。
    在大多数情况下,这会提供最可预测和最有用的视觉结果。

    【讨论】:

      猜你喜欢
      • 2013-01-31
      • 2015-03-24
      • 1970-01-01
      • 2014-10-03
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多