From 4b1a9203c547c019fc5398082ae19a3f3d4c3efe Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:41:15 -0500 Subject: initial commit --- files/de/codeschnipsel/tree/index.html | 69 ++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 files/de/codeschnipsel/tree/index.html (limited to 'files/de/codeschnipsel/tree') diff --git a/files/de/codeschnipsel/tree/index.html b/files/de/codeschnipsel/tree/index.html new file mode 100644 index 0000000000..95ae8ed107 --- /dev/null +++ b/files/de/codeschnipsel/tree/index.html @@ -0,0 +1,69 @@ +--- +title: Tree +slug: Codeschnipsel/Tree +translation_of: Archive/Add-ons/Code_snippets/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

+ +

{{ languages( { "fr": "fr/Extraits_de_code/Tree", "en": "en/Code_snippets/Tree" } ) }}

-- cgit v1.2.3-54-g00ecf