mozilla
Ihre Suchergebnisse

    Tree

    Aufklappen/Zuklappen aller Baumknoten

    Um alle Baumknoten aufzuklappen:

     var treeView = tree.treeBoxObject.view;
     for (var i = 0; i < treeView.rowCount; i++) {
       if (treeView.isContainer(i) && !treeView.isContainerOpen(i))
         treeView.toggleOpenState(i);
     }
    

    Um alle Baumknoten zu zuklappen, wird die Bedingung einfach umgekehrt:

     var treeView = tree.treeBoxObject.view;
     for (var i = 0; i < treeView.rowCount; i++) {
       if (treeView.isContainer(i) && treeView.isContainerOpen(i))
         treeView.toggleOpenState(i);
     }
    

    Text der ausgewählten Zeile abrufen

    Ausgehend von gegebenem Baum:

     <tree id="my-tree" seltype="single" onselect="onTreeSelected()">
    

    Wird das folgende JavaScript verwendet:

     function onTreeSelected(){
       var tree = document.getElementById("my-tree");
       var cellIndex = 0;
       var cellText = tree.view.getCellText(tree.currentIndex, tree.columns.getColumnAt(cellIndex));
       alert(cellText);
     }
    

    Das Baum-Item einer fokussierten Zeile abrufen

    Ausgehend von <tree id="my-tree">, kann der folgende Codeausschnitt verwendet werden, um das tree item abzurufen:

    var view = document.getElementById("my-tree").view;
    var sel = view.selection.currentIndex; //returns -1 if the tree is not focused
    var treeItem = view.getItemAtIndex(sel);
    

    Zu beachten ist, dass der aktuelle Index unter Umständen nicht ausgewählt sein (z.B. in einem Baum mit mehrfach-Auswahl).

    Einen treecell von einem Mausklick abrufen

    Die erste Wahl ist <treecell onclick="yourfunc();"/> oder etwas ähnliches auszuprobieren. das funktioniert nicht. Es können keine Event-Handler zum <treecell> Element hinzugefügt werden. Stattdessen kann ein Event-Handler zum <tree> Element hinzugefügt werden. Dann können event- und andere Methoden benutzt werden, um das <treecell> Element zu finden. Zum Beispiel, ausgehend von:

    <tree id="my-tree" onclick="onTreeClicked(event)">
    

    Wird das folgende JavaScript verwendet:

    function onTreeClicked(event){
      var tree = document.getElementById("my-tree");
      var tbo = tree.treeBoxObject;
    
      // get the row, col and child element at the point
      var row = { }, col = { }, child = { };
      tbo.getCellAt(event.clientX, event.clientY, row, col, child);
    
      var cellText = tree.view.getCellText(row.value, col.value);
      alert(cellText);
    }
    

    Ausgewählte Indizes eines mehrfach ausgewählten Baumes abrufen

      var start = {}, end = {}, numRanges = tree.view.selection.getRangeCount(), selectedIndices = [];
    
      for (var t = 0; t < numRanges; t++){
        tree.view.selection.getRangeAt(t, start, end);
        for (var v = start.value; v <= end.value; v++)
          selectedIndices.push(v);
      }
    

    Weitere Ressourcen

    Schlagwörter des Dokuments und Mitwirkende

    Mitwirkende an dieser Seite: Mrolappe, fscholz
    Zuletzt aktualisiert von: fscholz,