Gweithio Gyda TreeNodeBinding yng Ngorchymyn Rheoli Treeview ASP.NET

Byddaf i wedi bod yn gweithio ar yr hyn yr wyf yn gobeithio fod yn fuan-ryddhau CodePlex prosiect sy'n darparu ychydig integredig braf o rannau we siarad â'i gilydd trwy ddarparwr / defnyddwyr cysylltiadau er mwyn edrych i mewn i safle SharePoint o dan y cloriau.  (Mae hyn wedi cael ei wneud yn sicr cyn, ond mae hwn yn brosiect dysgu cymaint ag unrhyw beth arall).  Mae hyn i fod i gymryd lle y fforiwr ffenestri barn SharePoint 2010 llyfrgelloedd ddogfen.

Mae'r cod yn yr alwad ailadroddus arferol ar lawr y SPWeb a SPLists o fan cychwyn penodol.  Mae'r gwrthrych sy'n gwneud popeth a tramwyo yn adeiladu sefydlu llinyn XML sy'n edrych yn debyg i hyn:

<sitecollection url =’http://demo2010a:9090′>
 
<we
     title = 'Helo Byd Pwll tywod' 
     Templed = 'Mae safle ar gyfer timau yn gyflym drefnu, awdur, a rhannu gwybodaeth, Blah blah blah '>

     <rhestr
        title = 'BCC_Health_Services_FAQs’
        Templed = 'CustomList’
       
listid =’http://demo2010a:9090/helloworldsandbox[Yr wyf fi]1e02b001-3cb2-4f17-b63d-7809e86b4174′>
    
</rhestr>

     <rhestr
        title = 'BCC_Notifications' 
        Templed = 'CustomList' 
        listid =’
http://demo2010a:9090/helloworldsandbox[Yr wyf fi]5a5a13d1-877c-41c0-9063-b9612be80d5e’>
     </rhestr>

  </we>

</sitecollection>

Yr wyf yn disgwyl i lanhau bod XML cyn i'r holl sy'n cael ei ddweud ac wedi gwneud.

Yr wyf am y pen draw, gael yr wybodaeth honno i fyny ac i mewn i reolaeth Treeview.  Ddim yn union y ddaear stwff chwalu.

Yr her ar Cymerais yma oedd i gysylltu farn goeden i reoli Ffynhonnell Data XML yn hytrach na llaw adeiladu fy treenodes gan fy mod yn croesi y goeden.  Fe wnes i hyn yn rhannol oherwydd fy mod i'n gwneud pethau yn fwriadol galetach ar fy hun (hwn yn brosiect dysgu ar ôl yr holl) ac yn rhannol oherwydd bod gen i syniad hwn amwys nad oes modd adeiladu i fyny nodau goeden gan fy mod yn croesi y goeden yn syniad da ar gyfer y tymor hir.

Y broblem gyda'r dull hwn yw nad yw'r rheolaeth Treeview yn gwybod am y nodweddion da ar y nodau diddorol fel "rhestr" neu "we" felly ei fod yn dangos yr allbwn hwn yn ddiofyn:

 

image

Nid yw hynny'n ddefnyddiol.  Dyma lle y dosbarth TreeNodeBinding yn helpu.  Gallaf ddefnyddio hwn i ddweud wrth y rheolaeth Treeview sut y dylai ddehongli'r XML.  Dyma enghraifft:

tnb = newydd TreeNodeBinding();
tnb.DataMember = "rhestr"; // Dyma'r label yn y xml ar gyfer safle.
tnb.TargetField = "ListId";
tnb.ValueField = "Teitl";
tnb.ToolTipField = "Template";

Mae hyn yn gyfrwymol yn dweud wrth y treeview hynny pan fydd yn dod o hyd i <rhestr> nod yn y XML, wneud cais am y rhwymiadau TargetField, ValueField a ToolTipField.  Ym mis Mai app, Map y rhain fel a ganlyn:

  • TargetField: Rhywun chleciau pan ar werth nod, dyma beth y byddwch yn ei gael ar gyfer SelectedNode.Value.  Nid yw hyn yn cael ei drysu gyda ...
  • ValueField: Mae hyn yn yr hyn yr ydych am i'r Treeview i arddangos i'r defnyddiwr.
  • ToolTipField: Mae'r gwerth o'r XML a 'ch angen fel cyngor offer.

Ychwanegwch y TreeNodebinding i DataBindings farn goeden ac rydych yn cael allbwn fel hyn:

 

image

Bydd gen i fwy o wybodaeth am hyn i gyd gan fy mod yn parhau ar y prosiect a rhoi hyn yn y pen draw i fyny ar Codeplex.

</diwedd>

Tanysgrifio i fy mlog.

Dilynwch fi ar Twitter yn http://www.twitter.com/pagalvin

3 meddyliau ar "Gweithio Gyda TreeNodeBinding yng Ngorchymyn Rheoli Treeview ASP.NET

  1. Pingback: Trydar a sôn am weithio gyda TreeNodeBinding yn rheoli gwedd coeden ASP.NET applicant Paul Galvin SharePoint gofod -- Topsy.com

  2. Holger

    Hi Paul,

    Dim ond imi wirio hynny fy hun. Gweithiodd fel y disgrifiwyd gennych, hyd yn oed os Dwi ddim yn cael y wybodaeth honno gan eich safle (dyna bechod :-)).
    Y pwynt yr wyf yn ymddiddori mewn yw, Ceisiais wneud y strwythur yn ddiog llwytho â eiddo PopulateOnDemand. Fel arall y gwedd coeden llwytho y strwythur cyflawn yn gyffredinol y byddwn yn hoffi i osgoi. Eiddo hwn PopulateOnDemand ymddengys nad yw'n cael unrhyw effaith.

    Hefyd nid y gwedd coeden yw arbed unrhyw ehangu / cwymp wladwriaeth gwybodaeth.

    Llwyddoch chi i ddatrys y materion hyn?

    Regards

    Holger

    Ateb
    1. Paul Galvin awdur Post

      Gwn yr ydych wedi postio sylw hwn amser maith yn ôl. Mae'n ddrwg gennyf am ymateb byth. Cymeraf eich bod wedi eich ateb ers amser maith :).

      Ateb

Ad a Ateb

Ni fydd eich cyfeiriad e-bost yn cael ei gyhoeddi. Meysydd gofynnol yn cael eu marcio *