0

ドキュメントのようにデリゲートを使用してフィルタリングしようとしTreeListViewました: Filtering ObjectListView

したがって、次のようになります。

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

結果として、プロパティが等しいmyTreeすべてのノードを含める必要があります。私の場合、ツリーにノードがありません。なぜ???..Typetype

ただし、.Typeプロパティをルート ノードのタイプに設定すると、ツリー内のルート ノードは 1 つだけになるため、この場合は機能します。

ETA:上記のコードでフィルタリングが機能しないのはなぜですか?

4

1 に答える 1

2

TreeListViewあなたの質問から、あなたの構造がどのように見えるかは完全には明らかではありません。しかし、まだフェッチされていない子アイテム (展開されていないノード) をフィルタリングしたいという事実と関係があるのでしょうか?

すでに参照したチュートリアルのリンクから:

フィルタリングと TreeListViews
フィルタリングと TreeListViews は、予測可能ですが、おそらく予期しない方法で相互作用します。
フィルタリングでは、現在公開されている行のみが考慮されます (つまり、すべての先祖が展開されます)。
これらの行内で、それらの行またはその子孫のいずれかがフィルタリングによって含まれる場合、それらの行はフィルタリング プロセスによって含まれます。(はい、これは再帰的です)。最下位レベルの子がフィルタリング基準に一致する場合、そのすべての祖先も一致したと見なされ、コントロールに表示されます。
ほとんどの場合、これにより、最も予測可能で有用な視覚的結果が得られます。

于 2013-03-25T08:26:15.640 に答える