C# - ASP.NET TreeView kontrol elemeinek dinamikus feltöltése

TreeView web kontrol használata 2. rész

forráskód letöltése
A web TreeView kontrol hierarchia szerkezetét nem csak a Nodes property-n keresztül adhatjuk meg a program szerkesztési ideje alatt. Lehetőségünk van arra, hogy a csomópont adatait XML állományba tároljuk, majd a TreeView ezt az XML állományt értelmezve dinamikusan alakítsa ki a szükséges csomópontjait.
További lehetőség, hogy minden egyes csomóponthoz egy újabb XML állomány köthető. Ennek előnye, hogy az XML állományok csak akkor kerülnek letöltésre, ha a web lapon a felhasználó pont azt a hierarchia szintet nyitná ki, melyhez az újabb XML-t kötöttük. Ekkor az XML letöltése automatikusan megtörténik a web oldal frissítése nélkül. Ezt felhasználva a TreeView kontrolban akár több százezer csomópont is kialakítható és az így elkészített web oldalunk ennek ellenére kis méretű, gyorsan letölthető marad.
A TreeView kontrol alapvető használatához célszerű cikksorozatunk első részét megismerni, mivel az ott leírtakat nem ismételjük újra, viszont ismeretük nélkül jelen cikk tartalma sem érthető meg.
A feladat megoldásaként nyilván most nem a Nodes property-t kell használnunk az adatok feltöltésére, hanem a TreeNodeSrc property-ben kell megadnunk annak az XML állománynak az elérési útvonalát, melyből a csomópont adatok kiolvashatóak. Ezt megtehetjük a Properties ablakban is, vagy akár programból is:
        TreeView1.TreeNodeSrc=Server.MapPath("Namespace.xml");
        TreeView1.DataBind();
A hozzárendelés után a DataBind függvény meghívásakor történik meg az adott XML olvasása és a csomópontok feltöltése.
Mivel minden csomópont, ami TreeNode típusú, tartalmaz egy újabb TreeNodeSrc property-t. Ezt felhasználva a hierarchia bármely pontján egy újabb XML rendelhető a további elemek megadásához. Ezt persze nem kötelező használni, megadhatunk minden csomópontot egyetlen XML állományban is. Ha viszont ennek az XML-nek már túl nagy lenne a mérete, akkor érdemes több kisebb részre bontani, mivel a web lapunk letöltésekor azok az XML állományok is letöltésre kerülnek, melyekre a TreeView aktuális megjelenítéséhez szükség van.
A felhasználás ilyen módja egyszerű, nézzük most, hogy milyen speciális formát kell öltenie az XML-ben tárolt adatoknak.
Alapvető szabály, hogy az XML állomány tartalmát a <TREENODES>...</TREENODES> címkék közé kell zárni.
Minden csomóponthoz egy <treenode Text="CollectionsUtil" /> bejegyzés tartozik, melyben a Text attribútum adja meg a csomópont szövegét.
Ha egymásba ágyazott csomópontokat szeretnénk kialakítani, akkor a treenode bejegyzéseket is egymásba kell ágyaznunk:
  <treenode Text="System">
      <treenode Text="Stack" />
  </treenode>

TreeView web kontrol használata cikksorozat

TreeView használata web lapon, ASP.NET-es alkalmazásban - TreeView web kontrol használata 1. rész

ASP.NET TreeView kontrol elemeinek dinamikus feltöltése - TreeView web kontrol használata 2. rész