jQuery EasyUI menu drzewa - drzewo, aby dodać siatkę stronę
Ten poradnik pokazuje, jak załadować dynamicznych właściwości drzewa z siatką (TreeGrid) kartę dodał.
Tworzenie drzewa siatkę (TreeGrid)
Włącz drzewa siatki (TreeGrid) funkcję stronicowania, należy dodać "stronicowania: true" atrybutu zostanie wysłany '' i 'argumentów' Wiersze z serwerem tak załadowaniu strony.
<Tabela title = "Produkty" class = "easyui-TreeGrid" style = "width: 700px; height: 300px" data-options = " url: 'treegrid4_getdata.php " rownumbers: prawda, paginacja: prawda, pageSize: 2, pageList [2,10,20] idField: 'id', treeField: "nazwa", onBeforeLoad: function (wiersz, param) { if (rzędu!) {// obciążenia najwyższego poziomu wierszy param.id = 0; // set id = 0, wskazuje, aby załadować nowe wiersze strona } } "> <THEAD> <Tr> <Th pole = "name" width = "250"> Nazwa </ th> <Th pole = "ilość" width = "100" align = "right"> Ilość </ th> <Th pole = "cena" width = "150" align = "right" formatowania = "formatDollar"> Cena </ th> <Pole Th = "total" width = "150" align = "right" formatowania = "formatDollar"> Łącznie </ th> </ Tr> </ THEAD> </ Table>
Kod po stronie serwera
treegrid4_getdata.php
? $ Page = isset ($ _ POST [ 'page']) intval ($ _ POST [ 'page']): 1; ? $ Rows = isset ($ _ POST [ 'Wiersze']) intval ($ _ POST [ 'Wiersze']): 10; $ Offset = ($ page-1) * $ wiersze; $ Id = isset ($ _ POST [ 'id']) intval ($ _ POST [ 'id']): 0 ;? to "conn.php '; $ Result = array (); if ($ id == 0) { $ R = mysql_query ( "select count (*) z produktów, w których parentId = 0"); $ Row = mysql_fetch_row ($ rs); $ Result [ "total"] = $ row [0]; $ R = mysql_query ( "select * from produktów, w których parentId = 0 Limit $, $ offsetowych wiersze"); $ Items = array (); while ($ row = mysql_fetch_array ($ rs)) { ? $ row [ 'state'] = has_child ($ row [ 'id']) "zamknięty": "otwarty"; array_push ($ przedmiotów, $ wiersz); } $ Result [ "wiersze"] = $ przedmiotów; } Else { $ R = mysql_query ( "select * from produktów, w których parentId = $ id"); while ($ row = mysql_fetch_array ($ rs)) { ? $ row [ 'state'] = has_child ($ row [ 'id']) "zamknięty": "otwarty"; $ Row [ 'całkowite'] = $ row [ 'cena'] * $ row [ 'ilość']; array_push ($ wynik, $ row); } } echo json_encode ($ result); Funkcja has_child ($ id) { $ R = mysql_query ( "select count (*) z produktów, w których parentId = $ id"); $ Row = mysql_fetch_array ($ rs); return $ row [0]> 0 prawda :? false; }
Wysłane do parametrów serwera to:
- Strona: aktualna strona, aby załadować.
- wiersze: rozmiar strony.
- id: id wartości rodzic wiersz zwrócony z serwera ma być dodany.
Po rozwinięciu wiersz węzła 'id' wartość jest większa niż 0. Zmieniając temat, wartość 'id' powinien być ustawiony na 0, aby umieszczać wiersze obciążenia potomnych.