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:
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:
Es ņemšu vairāk par visu šo, kā projekta turpinās, un beidzot īstenot šo par Codeplex.
</beigās>
Sekot mani uz čivināt pie http://www.twitter.com/pagalvin
Pingback: Tweets ka pieminēt strādā ar TreeNodeBinding, ASP.NET Treeview kontroles «Paul Galvin SharePoint vietas -- Topsy.com
Hi Paul,
Es tikai pārbauda, kas sevi. Tā strādāja, kā jūs aprakstīts, ka pat tad, ja nav iegūt šo informāciju no vietnes (cik žēl :-)).
Mani interesē jautājums ir, Es mēģināju padarīt struktūru lazy iekraušana ar rekvizītu PopulateOnDemand. Citādi treeview ielādētu pilnīgu struktūra kopumā, ko es gribētu, lai izvairītos no. Šis rekvizīts PopulateOnDemand, šķiet, nav nekādu ietekmi.
Arī treeview nevar saglabāt jebkuru Izvērst / sakļaut valsts informācijas.
Tomēr atrisināt šos jautājumus?
Sveicieni
Holger
Es zinu, ka esat ievietojis šo komentāru jau sen. Žēl nekad neatbild. Pieņemsim, ka jums ir jūsu risinājums sen :).