ASP.NET Treeview नियंत्रण में TreeNodeBinding के साथ कार्य करना

मैं क्या मुझे आशा है कि एक जल्द ही जारी हो जाएगा पर काम कर रहा है CodePlex परियोजना है कि एक-दूसरे को कवर के अंतर्गत एक SharePoint साइट पर खोज के उद्देश्य के लिए प्रदाता/उपभोक् ता कनेक्शंस के जरिए बात कर वेब पार्ट्स का एक अच्छा एकीकृत सा प्रदान करता है।  (यह निश्चित रूप से पहले किया गया है, लेकिन यह एक सीखने परियोजना के रूप में ज्यादा के रूप में कुछ और है).  यह करने के लिए windows explorer दृश्य SharePoint के लिए एक प्रतिस्थापन होती है 2010 दस्तावेज़ लायब्रेरीज़.

हमेशा की तरह रीकर्सिव कॉल SPWeb नीचे कोड है और SPLists किसी दिए गए शुरू करने से इंगित करें।  एक XML स्ट्रिंग है जो कुछ इस तरह लग रहा है कि करता है कि सभी traversing ऑब्जेक्ट बनाता है:

<sitecollection url =’http://demo2010a:9090′>
 
<वेब
     शीर्षक = 'नमस्ते विश्व Sandbox' 
     टेम्पलेट =' जल्दी से व्यवस्थित करने के लिए टीमों के लिए एक साइट, लेखक, और जानकारी साझा करें, ब्ला ब्ला ब्ला '>

     <सूची
        शीर्षक ='BCC_Health_Services_FAQs’
        टेम्पलेट ='CustomList’
       
listid =’http://demo2010a:9090/helloworldsandbox[delim]1e02b001-3cb2-4f17-b63d-7809e86b4174′>
    
</सूची>

     <सूची
        शीर्षक 'BCC_Notifications' = 
        टेम्पलेट 'CustomList' = 
        listid =’
http://demo2010a:9090/helloworldsandbox[delim]5a5a13d1 - 877c - 41 सी 0-9063-b9612be80d5e’>
     </सूची>

  </वेब>

</sitecollection>

मैं कि अप सब पहले XML कहा और किया है साफ करने के लिए उम्मीद.

मैं अंततः ऊपर और एक Treeview नियंत्रण में उस जानकारी को प्राप्त करने के लिए चाहते हैं।  नहीं बिल्कुल टूट सामान पृथ्वी.

ट्री दृश्य के रूप में मैं पेड़ ट्रैवर्स करें मैन्युअल रूप से अप मेरे treenodes के निर्माण के बजाय एक XML डेटा स्रोत नियंत्रण करने के लिए कनेक्ट करने के लिए चुनौती मैं यहाँ पर ले लिया था।  मैंने यह किया क्योंकि आंशिक रूप से मैं जानबूझ कर बातें अपने आप पर कठिन बना रहा हूँ (यह एक सीखने परियोजना सब के बाद है) और आंशिक रूप क्योंकि मैं इस अस्पष्ट धारणा है कि लंबे समय के लिए एक अच्छा विचार नहीं है के रूप में मैं पेड़ ट्रैवर्स ट्री नोड्स ऊपर इमारत.

तो यह डिफ़ॉल्ट रूप से इस आउटपुट दिखाता है Treeview नियंत्रण "सूची" या "वेब" की तरह दिलचस्प नोड्स पर अच्छा विशेषताओं के बारे में पता नहीं है कि इस दृष्टिकोण के साथ समस्या है:

 

image

कि उपयोगी नहीं है।  इस जहां TreeNodeBinding वर्ग में मदद करता है।  मैं यह कैसे यह XML की व्याख्या करना चाहिए Treeview नियंत्रण बता करने के लिए उपयोग कर सकते हैं।  यहाँ एक उदाहरण है:

tnb नई TreeNodeBinding =();
tnb.DataMember = "सूची"; // यह एक साइट के लिए xml में लेबल है.
tnb.TargetField = "listid";
tnb.ValueField = "शीर्षक";
tnb.ToolTipField = "टेम्पलेट";

जब यह पाता है यह बाध्यकारी treeview कि बताता है एक <सूची> में XML नोड, TargetField के लिए बाइंडिंग लागू करें, ValueField और ToolTipField.  मई app में, ये निम्नानुसार मैप:

  • TargetField: जब किसी एक नोड मान पर क्लिक, यह है क्या तुम SelectedNode.Value के लिए मिल जाएगा।  इस के साथ भ्रमित होने की नहीं है...
  • ValueField: यह क्या आप Treeview है उपयोगकर्ता के लिए प्रदर्शित करना चाहते है.
  • ToolTipField: मान एक टूलटिप के रूप में इच्छित XML से.

जोड़ें TreeNodebinding ट्री दृश्य DataBindings और आप को इस तरह आउटपुट मिलता है:

 

image

जैसा कि मैंने इस परियोजना को जारी रखने और अंततः इस Codeplex पर डाल दिया मैं यह सब पर अधिक करनी होगी.

</अंत>

मेरे ब्लॉग के लिए सदस्यता लें.

मेरे चहचहाना पर का पालन करें http://www.twitter.com/pagalvin

3 पर विचार "ASP.NET Treeview नियंत्रण में TreeNodeBinding के साथ कार्य करना

  1. Pingback: Tweets कि उल्लेख TreeNodeBinding के साथ कार्य करने में ASP.NET Treeview नियंत्रण «Paul Galvin SharePoint स्थान -- Topsy.com

  2. Holger

    हाय पॉल,

    मैं बस की जाँच की कि अपने आप को. यह काम किया है के रूप में दूर के रूप में आप वर्णित कि भले ही मैं उस जानकारी को अपनी साइट से नहीं मिलता है (कैसी बेचारगी है :-)).
    मैं में दिलचस्पी रहा हूँ की बात है, मैं संरचना आलसी लोड हो रहा है PopulateOnDemand संपत्ति के साथ बनाने की कोशिश की. अन्यथा treeview पूरी संरचना में जो मैं से बचने के लिए चाहते हैं एक पूरे लोड. यह गुण PopulateOnDemand कोई प्रभाव नहीं है लगता है.

    भी treeview नहीं किसी भी विस्तृत करें सहेजें / राज्य सूचना को संक्षिप्त करें.

    आप इन मुद्दों को हल किया?

    सादर अभिवादन

    Holger

    1. पॉल Galvin पोस्ट लेखक

      मुझे पता है कि आप एक लंबे समय से पहले यह टिप्पणी पोस्ट. कभी नहीं का जवाब देने के लिए खेद है. मुझे लगता है कि आप लंबे समय के बाद अपने समाधान मिल गया :).

कोई जवाब दो

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. अपेक्षित स्थानों को रेखांकित कर दिया गया है *