Tag Archives: TreeView

Vinna með TreeNodeBinding í ASP.NET TreeView stjórna

Ég hef verið að vinna á það sem ég vona að verði bráðum-út CodePlex verkefni sem afla a ágætur samþætta hluti af hlutum vefur tala við hvor aðra í gegnum té / neytandi tengingar í þeim tilgangi að kanna SharePoint síðuna undir sængina.  (Þetta hefur vissulega verið gert áður, en þetta er að læra verkefni eins mikið og allt annað).  Þetta er ætlað að vera í staðinn fyrir Windows Explorer ljósi SharePoint 2010 skjal bókasöfn.

The merkjamál hefur venjulega endurkvæma hringja niður er Spweb og SPLists frá tilteknu útgangspunkt.  The hlutur sem gerir allt sem fara yfir byggja upp XML band sem lítur eitthvað eins og this:

<sitecollection url =’HTTP://demo2010a:9090′>
 
<vefur
     titill = 'Halló heimur Sandbox' 
     Snið = 'A síða fyrir lið til fljótt skipuleggja, Höfundur, og deila upplýsingum, BLAH BLAH BLAH '>

     <lista
        BCC_Health_Services_FAQs titill = '’
        Snið = 'CustomList’
       
listid =’HTTP://demo2010a:9090/helloworldsandbox[hlut]1e02b001-3cb2-4f17-b63d-7809e86b4174′>
    
</lista>

     <lista
        'BCC_Notifications' title = 
        Snið = 'CustomList' 
        listid =’
HTTP://demo2010a:9090/helloworldsandbox[hlut]5a5a13d1-877c-41c0-9063-b9612be80d5e’>
     </lista>

  </vefur>

</sitecollection>

Ég býst við að hreinsa upp þessi XML áður en allt er sagt og gert.

Ég vil að lokum fá þær upplýsingar upp og í TreeView stjórna.  Ekki nákvæmlega jörð shattering efni.

Áskorunin sem ég tók hér var að tengja tré útsýni til XML Data Source eftirlit í stað handvirkt byggja upp treenodes mínar sem ég fara yfir tré.  Ég gerði þetta að hluta vegna þess að ég er vísvitandi að gera hlutina erfiðari á mig (þetta er nám verkefni eftir allt) og að hluta til vegna þess að ég hef þetta óljós hugmynd að byggja upp tré hnúður eins og ég fara yfir tré er ekki góð hugmynd til lengri tíma litið.

Vandinn við þessa aðferð er að TreeView stjórna veit ekki um góða eiginleika á áhugaverða hnúður eins og "lista" eða "vefur" þannig að það sýnir þetta framleiðsla sjálfgefið:

 

image

Það er ekki gagnlegt.  Þetta er þar sem TreeNodeBinding bekknum hjálpar.  Ég get notað þetta til að segja TreeView stjórna hvernig það ætti að túlka XML.  Hér er dæmi:

TNB = new TreeNodeBinding();
tnb.DataMember = "list"; // Þetta er merki á XML fyrir síðuna.
tnb.TargetField = "listid";
tnb.ValueField = "title";
tnb.ToolTipField = "Template";

Þessi binding segir TreeView að þegar það finnur <lista> hnút í XML, beita bókband fyrir TargetField, ValueField og ToolTipField.  Í maí app, þessi kort sem hér segir:

  • TargetField: Þegar einhver smellir á hnút gildi, þetta er það sem þú munt fá fyrir SelectedNode.Value.  Þetta er ekki að rugla saman við ...
  • ValueField: Þetta er það sem þú vilt að Treeview að sýna til notanda.
  • ToolTipField: Gildi frá XML sem þú vilt sem Tooltip.

Bæta við að TreeNodebinding til DataBindings valglugganum og þú færð framleiðsla svona:

 

image

Ég ætla meira á allt þetta sem ég halda áfram á verkefninu og að lokum að setja þetta upp á Codeplex.

</enda>

Gerast áskrifandi að bloggið mitt.

Fylgdu mér á Twitter á http://www.twitter.com/pagalvin