Tagu arhīvi: TreeView

Darbs ar TreeNodeBinding ASP.NET Treeview kontrole

Esmu strādājusi par to, ko es ceru, ka būs drīz atbrīvo CodePlex projekts, kas nodrošina jauku iebūvētu mazliet web daļu, kas runā viens ar otru, izmantojot pakalpojumu sniedzēja un patērētāju savienojumus, lai pētītu SharePoint vietnē zem segas.  (Protams tas ir darīts pirms, bet tas ir tikpat daudz kā jebkas cits mācību projektu).  Tas ir domāts, lai būtu rezerves windows explorer skats no SharePoint 2010 dokumentu bibliotēkas.

Kods ir parasti rekursīvs zvanīt uz leju SPWeb un SPLists no noteiktā sākuma punktu.  Objektu, ko dara, kas šķērso uzkrājas XML virkne, kas izskatās līdzīgi kā šis:

<sitecollection url =’http://demo2010a:9090′>
 
<Web
     nosaukums = "Hello World Sandbox" 
     Veidne: =' vietni komandām, lai ātri organizētu, Autors, un koplietot informāciju, BLAH BLAH BLAH ">

     <saraksts
        nosaukums = "BCC_Health_Services_FAQs’
        Veidne: ='CustomList’
       
ListId =’http://demo2010a:9090/helloworldsandbox[delim]1e02b001-3cb2-4f17-b63d-7809e86b4174′>
    
</saraksts>

     <saraksts
        nosaukums = "BCC_Notifications" 
        Veidne: = 'CustomList' 
        ListId =’
http://demo2010a:9090/helloworldsandbox[delim]5a5a13d1 - 877c - 41c 0-9063-b9612be80d5e’>
     </saraksts>

  </Web>

</sitecollection>

Es ceru, ka tīrīt augšu, ka XML pirms viss ir teikts un darīts.

Es gribu, lai galu galā iegūt šo informāciju uz augšu un vadīklā Treeview.  Nav tieši zemes satricinošs sīkumi.

Es iedzēru šeit uzdevums bija pieslēgties XML datu avota vadīklu, tā vietā, lai manuāli veidot manu treenodes, jo es traversa koka koka skats.  Es to darīju daļēji tāpēc, ka esmu apzināti padarot lietas grūtāk par sevi (galu galā tas ir mācību projektu) daļēji tāpēc, ka man ir šī neskaidrs priekšstatu, ka veidotos koku zariem, jo es traversa koks nav laba ideja par ilgtermiņa.

Ar šo pieeju problēma ir tā, ka vadīklā Treeview nezina par labu atribūtus uz interesantu punktiem kā "saraksts" vai "web" lai tas parāda šo produkciju pēc noklusējuma:

 

image

Tas nav lietderīgi.  Tas ir, kur palīdz TreeNodeBinding klasē.  Varat izmantot šo pateikt Treeview kontrole, kā to vajadzētu interpretēt XML.  Lūk, piemērs:

TNB = jaunu TreeNodeBinding();
TNB.DataMember = "saraksts"; // Šī ir etiķete, XML Site.
TNB.TargetField = "listid";
TNB.ValueField = "title";
TNB.ToolTipField = "Template";

Šis saistījums stāsta treeview, kad tā konstatē, <saraksts> XML mezglam, lietot saites, TargetField, ValueField un ToolTipField.  Maijā app, šīs kartes šādi:

  • TargetField: Kad kāds noklikšķina uz zara vērtība, tas, ko jūs saņemsiet SelectedNode.Value.  Tas ir, nevajag jaukt ar...
  • ValueField: Tas ir tas, ko jūs vēlaties, Treeview, kas tiek rādīta lietotājam.
  • ToolTipField: Vērtību no XML, kas jūs vēlaties kā rīka padoms.

Pievienot, ka koka skatu DataBindings un jūs TreeNodebinding saņemt produkciju kā šis:

 

image

Es ņemšu vairāk par visu šo, kā projekta turpinās, un beidzot īstenot šo par Codeplex.

</beigās>

Abonēt manu blogu.

Sekot mani uz čivināt pie http://www.twitter.com/pagalvin