Ħidma Bil TreeNodeBinding fil-Kontroll Treeview ASP.NET

Stajt ilhom jaħdmu fuq dak Nispera se jkun dalwaqt rilaxxati CodePlex proġett li jipprovdi daqsxejn integrat sbieħ ta 'partijiet tal-web jitkellem lil xulxin permezz tal-fornitur / consumer konnessjonijiet għall-iskop ta' esplorazzjoni 'sit SharePoint taħt il-tkopri.  (Dan ċertament ma sar qabel, iżda dan huwa proġett tagħlim kemm ħaġa oħra).  Dan huwa maħsub li jkun sostitut għall-twieqi Explorer dawl tal SharePoint 2010 libreriji dokument.

Il-kodiċi għandu l-sejħa jirrikorri soltu l-tal SPWeb u SPLists minn punt ta 'tluq partikolari.  L-oġġett li ma dak kollu li traversat tibni string XML li tidher xi ħaġa bħal din:

<url = sitecollection’http://demo2010a:9090′>
 
<web
     title = "Hello World Sandbox" 
     Template = "A site għal timijiet biex malajr jorganizzaw, awtur, u jaqsmu l-informazzjoni, Blah blah blah ">

     <lista
        BCC_Health_Services_FAQs titolu = "’
        Template = "CustomList’
       
listid =’http://demo2010a:9090/helloworldsandbox[delim]1e02b001-3cb2-4f17-b63d-7809e86b4174′>
    
</lista>

     <lista
        "BCC_Notifications" titolu = 
        Template = "CustomList" 
        listid =’
http://demo2010a:9090/helloworldsandbox[delim]5a5a13d1-877c-41c0-9063-b9612be80d5e’>
     </lista>

  </web>

</sitecollection>

Nistenna li tnaddaf li XML qabel l jingħad u jsir.

Irrid li finalment tikseb dik l-informazzjoni up u fis-kontroll Treeview.  Mhux eżattament earth tifrik Jittieħed.

L-isfida I ħa fuq hawn kien li jikkonnettja l-ħsieb siġra għal Data kontroll XML Sors minflok manwalment bini treenodes tiegħi bħala I travers-siġra.  Jien għamilt dan parzjalment għaliex jien deliberatament tagħmel affarijiet aktar diffiċli fuq myself (dan huwa proġett ta 'tagħlim wara kollox) u parzjalment minħabba I jkollhom din l-idea vaga li tibni lymph siġra bħala I travers-siġra ma tkunx idea tajba fit-tul.

Il-problema ma 'dan l-approċċ huwa li l-kontroll Treeview ma jafux dwar il-attributi tajba fuq il-lymph interessanti bħal "lista" jew "web" u għalhekk juri dan l-output fil-kontumaċja:

 

image

Li mhux utli.  Dan huwa fejn il-klassi TreeNodeBinding jgħin.  I jistgħu jużaw dan li tgħid il-kontroll Treeview kif għandha tinterpreta t XML.  Hawn eżempju:

TNB = ġdid TreeNodeBinding();
tnb.DataMember = "list"; // Dan huwa l-tikketta fil-xml għal sit.
tnb.TargetField = "listid";
tnb.ValueField = "title";
tnb.ToolTipField = "Template";

Dan jorbot jirrakkonta l-TreeView li meta ssib li <lista> node fil-XML, japplikaw l-irbit għall TargetField, ValueField u ToolTipField.  F'mejju app, dawn mappa kif ġej:

  • TargetField: Meta xi ħadd clicks fuq valur node, dan huwa dak li inti ser tingħata għall SelectedNode.Value.  Dan m'għandux jiġi konfuż ma '...
  • ValueField: Dan huwa dak li trid l-Treeview li juru lill-utent.
  • ToolTipField: Il-valur mill-XML li inti tixtieq bħala Tooltip.

Żid li TreeNodebinding għall DataBindings-fehma siġra u ikollok output bħal dan:

 

image

I ser ikollhom aktar fuq dan kollu bħala I tkompli fuq il-proġett u eventwalment tpoġġi din fuq CodePlex.

</aħħar>

Abbona għall-blog tiegħi.

Follow lili Twitter fi http://www.twitter.com/pagalvin

3 ħsibijiet dwar "Ħidma Bil TreeNodeBinding fil-Kontroll Treeview ASP.NET

  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?

    Iqis

    Holger

    1. Paul Galvin awtur Post

      I know you posted this comment a long time ago. Sorry for never responding. I assume that you got your solution long since :).

Ħalli Irrispondi

Your email address mhux se jkun ippubblikat. Meħtieġa oqsma huma mmarkati *