<%@ page contentType="text/html;charset=UTF-8"%> <%@ include file="/WEB-INF/views/include/taglib.jsp"%> <meta name="decorator" content="index" /> <body> <div class="portlet-body"> <table id="xxxdg" height="auto" width="100%"></table> </div> <script type="text/javascript"> var trees = '${fns:getXXXListByTree()}' var dg = $('#xxxdg').treegrid({ method: 'post', rownumbers: true, idField: 'id', treeField: 'name', height:'500px', singleSelect : false, columns:[[ {field:'id',title:'编号',hidden:true}, {field:'name',title:'名称',240,sortable:true,formatter:formatterData}, {field:'description',title:'描述',150,align:'center'}, ]] }); //变量trees的值是符合treegrid要求的json格式的字符串 var data =$.parseJSON('{"total":0,"rows":'+ trees +'}'); dg.treegrid('loadData', data); //将数据绑定到treegrid function formatterData(value,rowData,rowIndex){ //rowData是当节点的数据集,children表示其分支,如果!=undefined则表示当前节点有分支,由于这个树只有两层,也表示它就是父节点。如果是父节点,就不在后面加checkbox if(rowData.children != undefined){ return rowData.name; }else{ //在调用当前jsp时用url传值的形式传过来的sortids变量 var sortIds = '${param.sortIds}'; var checked = ""; if(sortIds!="") { if(sortIds.indexOf(rowData.id) > -1){ checked = "checked='checked'"; } } //将checkbox动态拼在名称前 return "<input "+checked+"type='checkbox' id='ids_"+rowData.id+"' value='values_"+rowData.name+"'>" + rowData.name; } } </script> </body>