TreeView
TsgcHTMLComponent_TreeView — genera un árbol jerárquico plegable a partir de tus propios nodos o directamente desde un dataset, en Delphi, C++ Builder y .NET.
TsgcHTMLComponent_TreeView — genera un árbol jerárquico plegable a partir de tus propios nodos o directamente desde un dataset, en Delphi, C++ Builder y .NET.
Un componente de árbol que emite un list-group de Bootstrap con ramas plegables. Añade nodos (cada uno con hijos), establece los iconos y la sangría, luego lee la propiedad HTML.
TsgcHTMLComponent_TreeView
Árbol plegable list-group de Bootstrap 5
Delphi, C++ Builder, .NET
Añade un nodo a Nodes, inserta filas hijas en su lista Children, ajusta IndentSize y los iconos, luego lee HTML (o colócalo en una página TsgcHTMLTemplate_Bootstrap).
uses
sgcHTML_Enums, sgcHTML_Component_TreeView;
var
oTree: TsgcHTMLComponent_TreeView;
oNode: TsgcHTMLTreeNode;
begin
oTree := TsgcHTMLComponent_TreeView.Create(nil);
try
oTree.TreeID := 'fileTree';
oTree.ShowLines := True;
oTree.Selectable := True;
oTree.IndentSize := 24;
oNode := oTree.Nodes.Add;
oNode.Text := 'Documents';
oNode.Expanded := True;
oNode.Children.Add('Invoice.pdf');
oNode.Children.Add('Report.docx');
WebModule.Response := oTree.HTML; // list-group tree
finally
oTree.Free;
end;
end;
// Or build the tree straight from a self-referencing dataset:
oTree.LoadFromDataSet(qryFolders, 'ID', 'ParentID', 'Name');
// includes: sgcHTML_Enums.hpp, sgcHTML_Component_TreeView.hpp
TsgcHTMLComponent_TreeView *oTree = new TsgcHTMLComponent_TreeView(NULL);
try
{
oTree->TreeID = "fileTree";
oTree->ShowLines = true;
oTree->Selectable = true;
oTree->IndentSize = 24;
TsgcHTMLTreeNode *oNode = oTree->Nodes->Add();
oNode->Text = "Documents";
oNode->Expanded = true;
oNode->Children->Add("Invoice.pdf");
oNode->Children->Add("Report.docx");
String html = oTree->HTML; // list-group tree
}
__finally
{
delete oTree;
}
using esegece.sgcWebSockets;
var tree = new TsgcHTMLComponent_TreeView();
tree.TreeID = "fileTree";
tree.ShowLines = true;
tree.Selectable = true;
tree.IndentSize = 24;
var node = tree.Nodes.Add();
node.Text = "Documents";
node.Expanded = true;
node.Children.Add("Invoice.pdf");
node.Children.Add("Report.docx");
string html = tree.HTML; // list-group tree
// Or build the tree straight from a self-referencing dataset:
tree.LoadFromDataSet(qryFolders, "ID", "ParentID", "Name");
Los miembros que usarás con más frecuencia.
Nodes es la colección TsgcHTMLTreeNodes; Nodes.Add devuelve un TsgcHTMLTreeNode con Text, Href, Icon, Expanded, Selected y NodeID.
El Children de cada nodo es una TStringList de filas hoja; las ramas no vacías generan un toggle de colapso de Bootstrap automáticamente.
LoadFromDataSet(aDataSet, aIDField, aParentIDField, aTextField) construye el árbol completo a partir de una consulta autorreferenciada en dos pasadas.
ShowLines, LineColor / LineColorStyle e IndentSize controlan las líneas guía y el desplazamiento de anidamiento; Selectable resalta la fila activa.
ExpandedIcon, CollapsedIcon y LeafIcon establecen los glifos para ramas abiertas, ramas cerradas y hojas (se permiten entidades HTML).
HTML devuelve el marcado del árbol list-group y TreeID establece el id de su elemento — sírvelo, o asígnalo al BodyContent de una plantilla de página.