मैं कुछ शाखाओं के पेड़ पर ViewerFilter
लागू कर रहा हूं, लेकिन अधिकतर पत्तियां छोड़ती हैं। फिल्टर वास्तव में पत्तियों के भीतर गुणों का उपयोग करके पत्तियों पर लागू होता है। सभी शाखाएं बिना छूटे रहती हैं ताकि उनकी पत्तियां दिखाई दे सकें।एक TreeViewer पर ViewerFilter का उपयोग करने के लिए सबसे अच्छा तरीका है?
हालांकि मैं उन शाखाओं को फ़िल्टर करना चाहता हूं जिनमें कोई चयनित पत्तियां नहीं हैं, और मैं ViewerFilter
के भीतर कोई तंत्र नहीं देख सकता जो इसे अनुमति देता है।
क्या यह संभव है?
उदाहरण के लिए, नीचे काल्पनिक पेड़ दिया
b0
b1
L2
L4
L8
b2
L1
L3
L5
मैं एक ViewerFilter
है कि केवल भी पत्तियों और शाखाओं कि यहां तक कि पत्ते होते हैं का चयन करता है आवेदन करना चाहते हैं (जहां b
एक शाखा है, एक L
एक पत्ता है) । जिसके परिणामस्वरूप पेड़ होगा ..
b0
b1
L2
L4
L8
.. जहां शाखा b2
प्रदर्शित नहीं करता है के रूप में यह कोई चयनित बच्चों में शामिल है, लेकिन शाखाओं b0
और b1
है।
मुझे संदेह है कि तत्वों के बड़े संग्रह के लिए इस बहुत खराब समय का चल रहा समय। उदाहरण के लिए, सभी संसाधन एक कार्यक्षेत्र है। मुझे लगता है कि, प्रत्येक संसाधन के लिए, अपने सभी निहित संसाधनों पर जाएं। इसलिए यह है * ओ (एन^2) *। एक * ओ (एन) * समाधान होना चाहिए। – Lii
दर्शक का अन्य फ़िल्टर होने पर यह समाधान वास्तव में खराब काम करता है। उदाहरण के लिए वर्कस्पेस संसाधनों के मामले में, जब किसी अन्य फ़िल्टर ने किसी फ़ोल्डर से सभी संसाधनों को फ़िल्टर किया है, तो यह फ़िल्टर अभी भी फ़ोल्डर को गैर-खाली के रूप में रिपोर्ट करेगा, क्योंकि यह फ़िल्टर अन्य फ़िल्टर से अवगत नहीं है। – Lii