Mi estis laboranta sur kio mi esperas estos baldaŭ-liberigita CodePlex Projekto kiu provizas belan integran pecon de araneaĵaj partoj parolanta al ĉiu alia tra provizanta/konsumanto konektoj por la celo esplori SharePoint ejo sub la kovriloj. (Tio ĉi certe estis farita antaŭe, Sed tio ĉi estas lernado projektas tiom multe kiel io ajn alia). Tio ĉi estas signifita esti anstataŭaĵo por la fenestra esplorista vido de SharePoint 2010 Dokumentaj bibliotekoj.
La kodo havas la kutiman recursive voko malsupren la SPWeb-a kaj SPLists de donita komencanta punkton. La objekto kiu faras ĉiujn ke transiranta konstruojn supre XMLa ŝnuro kiu rigardas ion tiel:
<Sitecollection url=’Http://Demo2010a:9090′>
<Araneaĵo
Titoli='Halan Mondon Sandbox'
Ŝablono='ejo por teamoj rapide organizi, Aŭtoro, Kaj interŝanĝada informo, BLAHa BLAH BLAH'>
<Listo
Titoli='BCCa_Sano_Servoj_FAQs’
Ŝablono='CustomList’
Listid=’Http://Demo2010a:9090/Helloworldsandbox[Delim]1E02b001-3cb2-4f17-b63d-7809e86b4174′>
</Listo>
<Listo
Titoli='BCCajn_Sciigojn'
Ŝablono='CustomList'
Listid=’Http://Demo2010a:9090/Helloworldsandbox[Delim]5A5a13d1-877c-41c0-9063-b9612be80d5e’>
</Listo>
</Araneaĵo>
</Sitecollection>
Mi atendas purigi tiun XML antaŭ ol ĉiuj estas dirita kaj farita.
Mi deziras fine akiri tiun informon supre kaj en Arb-vida kontrolo. Ne ĝuste tero frakasanta aĵon.
La defio mi prenis sur ĉi tie estis konekti la arban vidon al XMLa Datuma Fonta kontrolo anstataŭ mane konstruanta supre mia treenodes kiel mi transiras la arbon. Mi faris tion ĉi parte ĉar mi estas intence faranta aferojn pli malfacila sur mi mem (Tio ĉi estas lernada projekto post kiam ĉiuj) Kaj parte ĉar mi havas ĉi tiun neklaran ideon ke konstruanta supre arbajn nodojn kiel mi transiras la arbon ne estas bona ideo por la longatempa.
La problemo kun ĉi tiu alproksimiĝo estas ke la Arb-vida kontrolo ne scias pri la bonaj ecoj sur la interesaj nodoj kiel “listo” aŭ “araneaĵo” do ĝi montras ĉi tiun produktadon de nerepago:
Tio ne estas utila. Tio ĉi estas kie la TreeNodeBinding klasaj helpoj. Mi povas uzi tion ĉi diri la Arb-vidan kontrolon kiel ĝi devus interpreti la XML. Ĉi tie-a ekzemplo:
Tnb = nova TreeNodeBinding();
Tnb.DataMember = "listo"; // Tio ĉi estas la etikedo en la xml por ejo.
Tnb.TargetField = "listid";
Tnb.ValueField = "titolo";
Tnb.ToolTipField = "Ŝablono";
Ĉi tiu ligado diras la arban vidon ke kiam ĝi trovas <Listo> Nodo en la XML, Apliki la ligadojn por TargetField, ValueField kaj ToolTipField. Je povas app, Ĉi tiu mapo kiel sekvas:
- TargetField: Kiam iu klakas sur noda valoro, Tio ĉi estas kio vi akiros por SelectedNode.Valoro. Tio ĉi ne estas esti konfuzita kun…
- ValueField: Tio ĉi estas kio vi deziras la Arban vidon montri al la uzanto.
- ToolTipField: La valoro de la XML ke vi deziras kiel Tooltip.
Aldoni ke TreeNodebinding al DataBindings de la arba vido kaj vi akiras eligita tiel:
Mi havos pli da sur ĉiuj tio ĉi kiel mi daŭras sur la projekto kaj poste metita tion ĉi supre sur Codeplex.
</Fino>
Aboni al mia blogo.
Sekvi min sur Pepi ĉe http://www.twitter.com/pagalvin