Archiwa tagów: Obiekt TreeView

Praca Z TreeNodeBinding w formancie ASP.NET Treeview

Pracuję na co mam nadzieję, że będzie wkrótce zwolniony CodePlex projekt, który zapewnia miło trochę zintegrowanych składników web Part, rozmawiają ze sobą za pośrednictwem połączenia dostawca konsumenta do zwiedzania witryny programu SharePoint, pod przykryciem.  (To z pewnością zostało zrobione przed, ale to jest jak cokolwiek innego projektu uczenia się).  Ma to być zamiennikiem widoku eksploratora windows SharePoint 2010 biblioteki dokumentów.

Kod ma zwykle cykliczne rozmowy w dół SPWeb i SPList uruchamianiu danego punktu.  Obiekt, który ma wszystkie że przemierzając buduje ciąg XML, który wygląda tak:

<SiteCollection url =’http://demo2010a:9090′>
 
<www
     tytuł = "Witaj świecie piaskownica" 
     Szablon = "Strona dla zespołów szybko zorganizować, Autor, i udostępniania informacji, BLA BLA BLA ">

     <Lista
        tytuł ='BCC_Health_Services_FAQs’
        Szablon ='CustomList’
       
ListId =’http://demo2010a:9090/helloworldsandbox[by ogranicznik]1e02b001-3cb2-4f17-b63d-7809e86b4174′>
    
</Lista>

     <Lista
        Nazwa = "BCC_Notifications" 
        Szablon = "CustomList" 
        ListId =’
http://demo2010a:9090/helloworldsandbox[by ogranicznik]5a5a13d1 - 877c - 41c 0-9063-b9612be80d5e’>
     </Lista>

  </www>

</SiteCollection>

Spodziewam się do czyszczenia, że XML przed wszystko jest powiedziane i zrobione.

Ja potrzeba wobec ostatecznie dostać te informacje się i w formancie Treeview.  Nie do końca ziemi wstrząsające rzeczy.

Wyzwanie, wziąłem się na tutaj było połączenie widoku drzewa do formantu źródła danych XML, zamiast ręcznie budowania mojej treenodes jak przechodzić przez drzewa.  Zrobił to, częściowo dlatego, że celowo robię rzeczy trudniejsze na siebie (jest to projekt uczenia się po wszystkich) i częściowo dlatego, że mam to niejasne uczucie, że budowanie węzłów drzewa, jak przechodzić przez drzewa nie jest dobrym pomysłem na dłuższą metę.

Problem z tego podejścia jest to, że Treeview control nie wie o dobre atrybutów węzłach ciekawe jak "Lista" lub "web", więc to pokazuje wyjście to domyślnie:

 

image

To nie jest użyteczne.  To jest, gdzie pomaga w klasie TreeNodeBinding.  Można użyć tego powiedzieć Treeview control, jak należy interpretować XML.  Oto przykład:

tnb = nowy TreeNodeBinding();
tnb.DataMember = "Lista"; // To jest etykieta w pliku xml na stronie.
tnb.TargetField = "listid";
tnb.ValueField = "title";
tnb.ToolTipField = "Szablon";

To powiązanie mówi treeview, że gdy go znajdzie <Lista> węzeł XML, zastosowanie powiązania dla TargetField, ValueField i ToolTipField.  W maju aplikacji, te mapy w następujący sposób:

  • TargetField: Gdy ktoś kliknie na wartość węzła, to, co dostaniesz za SelectedNode.Value.  To nie należy mylić z...
  • ValueField: To, co chcesz, Treeview, aby wyświetlić użytkownikowi.
  • ToolTipField: Wartość z pliku XML, który chcesz jako etykietka narzędzia.

Dodać, że TreeNodebinding do powiązania danych w widoku drzewa i uzyskać wyjście jak to:

 

image

Będę miał więcej na to wszystko jak dalej projektu i ostatecznie umieścić to na Codeplex.

</koniec>

Subskrybowanie mój blog.

Follow me on Twitter wiek na http://www.twitter.com/pagalvin