jQuery EasyUI Menübaum - der Baum eine Seitenraster hinzufügen
Dieses Tutorial zeigt Ihnen, wie Sie mit einem Raster (TreeGrid) hinzugefügt Registerkarte, um die dynamischen Eigenschaften des Baumes zu laden.
Erstellen Baumgitter (TreeGrid)
Aktivieren Baumgitter (TreeGrid) Paging-Funktion, müssen Sie hinzufügen "Paginierung: true 'Attribut wird gesendet" Seite "und" Reihen "Argument für den Server, so dass die Seite geladen wird.
<Table title = "Produkte" class = "easyui-treegrid" style = "width: 700px; height: 300px" Daten-Optionen = " url: 'treegrid4_getdata.php', rownumbers: true, Paginierung: true, pagesize: 2, Pagelist: [2,10,20] idField: 'id', treeField: 'name', onBeforeLoad: function (Zeile, param) { if (! Zeile) {// Last Top-Level-Reihen param.id = 0; // set id = 0, zeigen neue Seite Reihen zu laden } } "> <Thead> <Tr> <Th Feld = "name" width = "250"> Name </ th> <Th field = "Quantität" width = "100" align = "right"> Menge </ th> <Th field = "Preis" width = "150" align = "right" Formatter = "formatDollar"> Preis </ th> <Th Feld = "total" width = "150" align = "right" Formatter = "formatDollar"> Total </ th> </ Tr> </ Thead> </ Table>
Server-Side-Code
treegrid4_getdata.php
? $ Page = isset ($ _ POST [ 'Seite']) intval ($ _ POST [ 'Seite']): 1; ? $ Rows = isset ($ _ POST [ 'Reihen']) intval ($ _ POST [ 'Reihen']): 10; Offset = ($ page-1) $ * $ Reihen; $ Id = isset ($ _ POST [ 'id']) intval ($ _ POST [ 'id']): 0 ;? schließen 'conn.php'; $ Ergebnis = array (); if ($ id == 0) { $ Rs = mysql_query ( "SELECT COUNT (*) von Produkten, bei denen parentId = 0"); $ Row = mysql_fetch_row ($ rs); Ergebnis $ [ "total"] = $ row [0]; $ Rs = mysql_query ( "select * from Produkte, bei denen parentId = 0 Limit $ Reihen $ offset"); $ Artikel = array (); while ($ row = mysql_fetch_array ($ rs)) { ? $ Row [ 'state'] = has_child ($ row [ 'id']) 'geschlossen': 'offen'; array_push ($ items, $ row); } Ergebnis $ [ "Reihen"] = Artikel $; } Else { $ Rs = mysql_query ( "select * from Produkten, bei denen parentId = $ id"); while ($ row = mysql_fetch_array ($ rs)) { ? $ Row [ 'state'] = has_child ($ row [ 'id']) 'geschlossen': 'offen'; $ Row [ 'total'] = $ row [ 'Preis'] * $ row [ 'Menge']; array_push ($ result, $ row); } } Echo json_encode ($ result); Funktion has_child ($ id) { $ Rs = mysql_query ( "SELECT COUNT (*) von Produkten, bei denen parentId = $ id"); $ Row = mysql_fetch_array ($ rs); $ Row return [0]> 0 wahr :? false; }
An den Server gesendet Parameter umfassen:
- Seite: die aktuelle Seite zu laden.
- Zeilen: Seitengröße.
- id: id des Wertes Eltemzeile vom Server zurückgegeben wird, um hinzugefügt werden.
Wenn Sie eine Knotenzeile erweitern, 'id' Wert größer als 0 ist. Wenn das Thema zu ändern, 'id' Wert sollte auf 0 gesetzt werden Zeilen, die die Last Kind zu platzieren.