Az ASP-ben TreeNodeBinding együtt dolgozik.NET Treeview vezérlő

Már dolgozik a mi Remélem lesz, a hamarosan kiadott CodePlex egy szép integrált kicsit beszélgetni egymással keresztül szolgáltató-fogyasztó kapcsolatok feltárása a SharePoint-webhely alatt a borít alkalmazásában kijelzők projekt.  (Ez minden bizonnyal megtörtént, mielőtt, de ez a tanulás projekt, mint bármi más).  Ez azt jelentette, hogy a csere, a SharePoint, a windows explorer nézet 2010 dokumentumtárak.

A kód hívja le a SPWeb szokásos rekurzív, és SPList egy adott indítását pontjára.  Az objektum, hogy nem minden a felsővezetéket épít fel egy XML karakterlánc, hogy néz ki valami ilyesmi:

<sitecollection url =’http://demo2010a:9090′>
 
<Web
     title = "Helló világ elvű" 
     Sablon =' egy webhelyet a csoport gyorsan rendezheti., Szerző, és információmegosztás, BLA BLA BLA ">

     <lista
        title ='BCC_Health_Services_FAQs’
        Sablon ='CustomList’
       
listid =’http://demo2010a:9090/helloworldsandbox[delim]1e02b001-3cb2-4f17-b63d-7809e86b4174′>
    
</lista>

     <lista
        title = "BCC_Notifications" 
        Sablon = "CustomList" 
        listid =’
http://demo2010a:9090/helloworldsandbox[delim]5a5a13d1-877 c-41 c 0-9063-b9612be80d5e’>
     </lista>

  </Web>

</sitecollection>

Arra számítok tiszta fel, hogy előtt minden XML mondta, és kész.

Szeretne végső soron a fel és a Treeview vezérlőben kap ezt az információt.  Nem pontosan a föld törése megtöm.

Én elvitt-ra itt kihívás volt a fanézetben csatlakozni egy XML-adatforrás-vezérlő helyett manuálisan kiépítése én treenodes, ahogy azt a fastruktúrán.  Én tett ez részben, mert én vagyok szándékosan hogy dolgot magam nehezebb (Ez a tanulás-projekt után minden) és részben, mert nekem van ez homályos fogalmát, hogy a fa csomópontjai kiépítése, ahogy azt a fastruktúrán nem jó ötlet a hosszú távú.

Ez a megközelítés problémája, hogy a Treeview vezérlő nem tud jó az attribútumokról, mint "list" vagy a "web" érdekes csomópontján így e kibocsátás jeleníti meg alapértelmezés szerint:

 

image

Ez nem hasznos.  Ez az, ahol a TreeNodeBinding osztály segít.  Tud használ ez-annak érdekében, hogy a Treeview vezérlő mondja meg, hogyan kell értelmezni az XML.  Itt van egy példa:

tnb = új TreeNodeBinding();
tnb.DataMember = "lista"; // Ez a hely XML-címke.
tnb.TargetField = "listid";
tnb.ValueField = "cím";
tnb.ToolTipField = a "Sablon";

A kötés mondja a TreeView vezérlő, amely a ha talál egy <lista> az XML-csomópont, TargetField kötései alkalmazni, ValueField és ToolTipField.  A május app, Ezek a következőképpen Térkép:

  • TargetField: Amikor valaki rákattint egy csomópont-érték, Ez az, amit kapsz a SelectedNode.Value.  Ez azonban nem kell zavaros with…
  • ValueField: Ez az, amit szeretne megjeleníteni a felhasználó számára a Treeview.
  • ToolTipField: Az XML-fájl, amely helyi súgóként kívánt értékét.

Adjunk hozzá, hogy TreeNodebinding a fanézetben adatkötéseinek, és kap kimenetet, mint ez:

 

image

Én is több minden e továbbra is az a projekt, és végül tesz ez-ra Codeplex.

</vége>

Subscribe to my blog.

Kövesse nekem Twitter http://www.twitter.com/pagalvin

3 gondolatok „Az ASP-ben TreeNodeBinding együtt dolgozik.NET Treeview vezérlő

  1. Pingback: Tweets, amely megemlíti dolgozik a TreeNodeBinding, az ASP.NET Treeview Control «Paul Galvin SharePoint hely -- Topsy.com

  2. Holger

    Szia Paul,

    Most néztem, hogy magam. Ez munkás, mint amennyire írja le, hogy még akkor is, ha nem kap az adatokat a webhely (milyen kár :-)).
    A lényeg érdekel, Próbáltam, hogy a szerkezet lusta berakodás a PopulateOnDemand tulajdonság. Egyébként a TreeView vezérlő betöltése a teljes szerkezet egy egész, amit én szeretnék, hogy ne. Ez a tulajdonság a PopulateOnDemand használata úgy tűnik, nem volna akármi hatás-.

    Is a TreeView vezérlő nem menteni minden kibontása / összecsukása állapotadatokat.

    Te megoldani ezeket a kérdéseket?

    Üdvözlettel

    Holger

    Válasz
    1. Paul Galvin Hozzászólás szerző

      Tudom, hogy Ön kifüggesztett ez magyarázat régen. Szomorú részére nem válaszol. Feltételezem, hogy megvan a megoldás rég :).

      Válasz

hagyj válaszüzenetet

Az e-mail címed nem kerül nyilvánosságra. Kötelező kitölteni *