Աշխատել TreeNodeBinding է ASP.NET Treeview Control

Ես արդեն աշխատում է, թե ինչ եմ, հույս ունեմ, որ կլինի շուտով, ազատ է արձակվել CodePlex նախագիծ է, որը տրամադրում է մի գեղեցիկ համալիր քիչ վեբ մասերի խոսում են միմյանց միջոցով տրամադրման / սպառողը միացումների նպատակով ուսումնասիրության եւ SharePoint կայքը տակ պատվածքով.  (Սա, իհարկե, արվել է, բայց դա ուսուցման ծրագիրը, որքան որեւէ այլ բան).  Սա նշանակում է, որ փոխարինում է Windows Explorer տեսակետից SharePoint 2010 Փաստաթղթաշրջանառության գրադարաններ.

The կոդն հերթական recursive հանդիմանել է SPWeb եւ SPLists են տվյալ ելակետ.  Օբյեկտ է, որ անում է, որ traversing կառուցում է մի XML տողը, որ նայում նման բան է սա:

<sitecollection url =’http :/://demo2010a:9090′>
 
<Վեբ
     վերնագիր = 'Բարեւ World Sandbox - 
     Կաղապար = 'A site համար թիմերը պետք է արագ կազմակերպել, հեղինակ, եւ կիսվել տեղեկություններ, Blah blah blah,>

     <ցուցակ
        title = 'BCC_Health_Services_FAQs’
        Կաղապար = 'CustomList’
       
listid =’http :/://demo2010a:9090/helloworldsandbox[բաժնետոմս]1e02b001-3cb2-4f17-b63d-7809e86b4174′>
    
</ցուցակ>

     <ցուցակ
        title = 'BCC_Notifications' 
        Կաղապար = 'CustomList. 
        listid =’
http :/://demo2010a:9090/helloworldsandbox[բաժնետոմս]5a5a13d1-877c-41c0-9063-b9612be80d5e’>
     </ցուցակ>

  </Վեբ>

</sitecollection>

Ակնկալում եմ մաքրել այդ մասին XML Նամակ առաջ ամեն ինչ ասել ու արել.

Ես ուզում եմ ի վերջո ստանալու այդ տեղեկությունը, եւ մի Treeview վերահսկողությունից.  Ոչ թե երկիրը կործանարար իրեր.

Մարտահրավեր I վերցրեց այստեղ էր միացնել Դիտել որեւէ XML տվյալների աղբյուրը վերահսկողության փոխարեն ձեռքով կառուցելու իմ treenodes եմ հակաճառել այդ ծառը.  Ես դա մասամբ այն պատճառով, որ ես միտումնավոր կատարելու բաներ դժվար է ինձ (սա ուսուցման ծրագիր հետո) եւ մասամբ այն պատճառով, որ ես այս աղոտ պատկերացում է, որը կառուցել է երեք հանգույցների, ինչպես ես հակաճառել ծառը չէ, լավ գաղափար է երկարաժամկետ.

Խնդիրն այս մոտեցումը այն է, որ Treeview վերահսկողությունը չի իմանալ լավ հատկանիշների վերաբերյալ հետաքրքիր հանգույցների, ինչպես «ցուցակում» կամ «Ոստայն», որպեսզի այն ցույց է տալիս այս արտադրությունը լռությամբ:

 

image

Դա օգտակար.  Սա, որտեղ TreeNodeBinding դասի օգնում.  Ես կարող եմ օգտագործել այս պատմել Treeview վերահսկողությունը ինչպես այն պետք է մեկնաբանել XML.  Ահա մի օրինակ,:

TNB = new TreeNodeBinding();
tnb.DataMember = "list"; // Սա պիտակը է xml համար կայքը.
tnb.TargetField = "listid";
tnb.ValueField = "title";
tnb.ToolTipField = "Template";

Սա պարտավորեցնող պատմում է, որ երբ treeview գտնում է <ցուցակ> հանգույց եւ XML, կիրառել կապերը համար TargetField, ValueField եւ ToolTipField.  Մայիսին ծրագրում, սրանք քարտեզ հետեւյալն:

  • TargetField: Երբ որեւէ մեկը կտտացնում վրա հանգույցի արժեք, սա այն է, ինչ դուք կստանաք եւ SelectedNode.Value.  Սա չպետք է շփոթել հետ ...
  • ValueField: Սա այն է, ինչ դուք ուզում եք, որ Treeview դրսեւորել օգտագործողի.
  • ToolTipField: Արժեքը ից XML, որ դուք ուզում եք որպես Tooltip.

Ավելացնենք, որ TreeNodebinding է Դիտել ծանոթյություններ DataBindings եւ Դուք կստանաք արտադրությունը նման:

 

image

Ես կասեմ, որ ավելի շատ այս, քանի որ ես շարունակում է նախագծին եւ, ի վերջո, դրել այս մինչեւ Codeplex.

</վերջ>

Անդամագրվել իմ բլոգում.

Գտեք Twitter-ում http://www.twitter.com/pagalvin

3 thoughts on "Աշխատել TreeNodeBinding է ASP.NET Treeview Control

  1. Pingback: Tweets that mention Working With TreeNodeBinding in the ASP.NET Treeview Control « Paul Galvin's SharePoint Space -- Topsy.com

  2. Holger

    Hi Paul,

    I just checked that myself. It worked as far as you described that even if I don’t get that information from your site (what a pity :-)).
    The point I am interested in is, I tried to make the structure lazy loading with the PopulateOnDemand property. Otherwise the treeview load the complete structure in a whole which I would like to avoid. This property PopulateOnDemand seems not to have any effect.

    Also the treeview does not save any expand/ collapse state information.

    Did you solve these issues?

    Regards

    Holger

Ավելացնել կարծիք

Ձեր էլ. Փոստի հասցեն չի հրապարակվելու. Պահանջվող դաշտերը նշված են աստղանիշով *