में एक टेक्स्टबॉक्स के साथ एक ट्रीव्यू फ़िल्टर करें मेरे पास एक सी # Winform में एक TreeView है। मैं एक खोज बॉक्स के माध्यम से एक खोज कार्यक्षमता जोड़ने में सक्षम होना चाहूंगा। मूल रूप से उपयोगकर्ता अक्षरों में टाइप करता है (मैं _TextChanged ईवेंट पर अनुमान लगा रहा हूं), मैं केवल उन नोड्स दिखाता हूं जिनमें इनपुट किए गए अक्षरों के साथ बालकोड होते हैं ...एक सी # Winforms ऐप
मेरे ट्री व्यू में कुल 15000 से अधिक के लिए 53 पैरेंट नोड्स शामिल हैं नोड्स तो मुझे थोड़ा सा प्रदर्शन करने की ज़रूरत है। मैं एक csv से मेरी TreeView है कि मैं एक DataTable में लोड और फिर प्रश्नों बनाने जुड़े बच्चे नोड्स के साथ जनक नोड्स पाने के लिए पर ...
अद्यतन
मैं एक विचार है निर्माण। अंतिम उद्देश्य यह है कि जब कोई उपयोगकर्ता किसी बच्चे नोड पर डबलक्लिक करता है तो उसे सूची में जोड़ा जाता है।
मैंने पहली बार इस खोज फ़ंक्शन को एक साधारण सूची दृश्य में कार्यान्वित किया था जहां मैंने अपने डेटा को श्रेणियों में अलग नहीं किया था।
मेरा विचार है कि एक बार उपयोगकर्ता चीजों में टाइप शुरू होता है, मैं अपने ट्री दृश्य को बंद करने और सूची दृश्य के बजाय दिखाने है ...
मैं कोशिश करते हैं और लागू करने और देखते हैं कि यह प्रदर्शन बुद्धिमान देता हूँ .. इस विचार पर किसी भी आलोचकों का स्वागत है।
15000 - पाठ नोड्स बहुत ज्यादा अगर आप एक आधुनिक पीसी पर चल रहे हैं नहीं है। आप पेड़ को भी फ़िल्टर कर सकते हैं, मुख्य बिंदु प्रदर्शन समस्याओं से बचने के लिए एक स्मार्ट रणनीति है। मैं एक का वर्णन करने की कोशिश करूंगा। सूची के साथ समाधान तकनीकी रूप से ठीक है, लेकिन मुझे लगता है कि अपेक्षित और सर्वोत्तम उपयोगकर्ता अनुभव नहीं है। –
क्या आपने अभी तक ब्रूट फोर्स विधि की कोशिश की है? एक अच्छा ओले foreach (ParentNode.ChildNodes में TreeNode नोड)? –