나는 말도 안되는 말을 많이하지 않을 것입니다. 나는 당신에게 코드를 게시 할 것입니다.
특정 코드는 다음과 같습니다.
1. 프론트 엔드
<%@ page language = "java"pageencoding = "utf-8"contenttype = "text/html; charset = utf-8"%> <script type = "text/javascript"> $ (function () {$ ( '#goods_type_treegrid'). treegrid ({url : '$ {pagecontext.request.contextpath} /admin/goodstypecontroller/treegrid.do?id=nullfield :'id ', treefield :'text ', rownumbers : true, parentfield :'pid ', fit : true, fitcolumns : false : false, frozencolmans : [{title :' ', frozencolumn : : 150, hidden : true}, {field : 'text', title : 'category name', width : 200}], 열 : [{field : 'pname', 제목 : '우수한 범주 이름', 너비 : 80}, {field : 'seq', 'sorting', width : 50}, 'corde :'cate encoding ', incoding' 50}, {field : 'pid', 제목 : '우수한 카테고리 ID', 너비 : 150, hidden : true}, {field : 'action', 제목 : 'action :'action ', width : 50, formatter : function (value, row, index) {return formatstring ('<img onclick = "goods_type_editfun (/'}/');" src = "{1}"/>> ', row.id,'$ {pagecontext.request.contextpath} /style/images/extjs_icons/pencil.png ', row.id,'$ {pagecontext.request.contextpath} /style/images/extjs/extjs/extjs}); ], 도구 모음 : [{text : 'batch import', iconcls : 'icon-remove', handler : function () {goods_type_importfun ();}}, {text : 'add :'add ', iconcls :'icon-add ', handler : function () {goods_type_appendfun (); {}},', ', '확장', ICONCLS : 'ICON-REDO', handler : function () {var node = $ ( '##goods_type_treegrid'). treeGrid ( 'getSelected'); if (node) {$ ( '##goods_type_treegrid'). treeGrid ( 'expandall', node.cid); {$ ( '#oodse_type_treegrid'). TreeGrid ( 'expandall');}}}, '-', {text : 'fold', iconcls : 'icon-undo', handler : function () {var node = $ ( '#goods_type_treegrid'). treegrid ( 'getStelected'); {$ ( '#oodse_type_treegrid'). TreeGrid ( 'caprapseall', node.cid);} else {$ ( '#goods_type_treegrid'). treegrid ( 'caprapseall');}}}, '-', '텍스트 :'refresh ', iconcls :'icon-reload ', function :'iconcls : 'iconcls :' {$ ( '#oodest_type_treegrid'). TreeGrid ( 'Reload');}}], onbeforeexpand : ontue (row) {// query var url을 확장하기위한 url var url의 동적 설정 var url = '$ {pagecontext.request.contextpath}/adstypecontypecontroller/treetrid.do'; $ ( "#goods_type_treegrid"). treegrid ( "옵션"). url = url; oncontextmenu; row.id); $ ( '##oogest_type_menu'). 메뉴 ( 'show', {left : e.pagex, top : e.pagey});}, onexpand : function (row) {var children = $ ( "#goods_type_treegrid"). TreeGrid ( 'getChildren', row.id); if (children.length <= 0) {row.leaf = true; $ ( "#goods_type_treegrid"). TreeGrid ( 'refresh', row.id);}}); </script> <테이블 id = "goods_type_treegrid"> </table>2. 컨트롤러
@RequestMapping ( "/treeGrid")@responsepublic List <GoodStyPepage> treeGrid (GoodStyPepage goodstyPepage) {if (null == goodstyPepage || "".Equals (goodstyPepage.getId ()) || null == goodstyPepage.getId ()) {goodstyPepage.setId ( "null ="); goodstypeservice.treegrid (GoodstyPepage);}3. 서비스
@Override // 캐시 데이터 공개 목록 <GoodstyPepage> treegrid (GoodStyPepage GoodStyPepage) {String HQL = "" "; if (null == goodstyPepage ||" ".equals (goodstyPepage.getId ()) ||"null ".equals (goodstypepage.getId ()) {hql =" null order by t.seq ";} else {hql ="goodstype t에서 t.tgoodstype.id = ' +goodstypepage.getid () +"'order by t.seq";} list <Goodstype> brlist = goodstypedao.find (hql); nl = new arraylist (goodstypege>); ! = null && brlist.size ()> 0) {for (goodstype br : brlist) {goodstyPepage r = new GoodstyPepage (); beanutils.copyProperties (br, r); if (br.getTgoodtype ()! = null) {r.setpname (b.gettgoodtype (). getText ()); r.setpid (b.gettgoodtype (). getId ());} r.setstate ( "close"); nl.add (r);}}}}}.