ligerui表格中树的使用
效果图:
前台部分代码:
hjhk= $("#hjhkxx").ligerGrid({
columns: [
{ display: '纳税人识别号', name: 'nsrsbh',id:'sbhId', width: 180,align:'center'},
{ display: '纳税人名称', name: 'nsrmc', width:250,align:'left'},
{ display: '所属乡镇', name: 'ctmc', width: 260,align:'left'},
],
url:"/srfx2/Hjhk/gethjhkxx.do",
root :'Rows',
record:'Total',
Total:3000,
alternatingRow:false ,
rownumbers:false,
width: '99%', height: '98%',rownumbers:false, usePager:true,pageSize:20,fixedCellHeight:false,
dataGetter: function ( data )
{
var result = JSON.parse($.base64().decode(data));
var result1=result.data.data;
var newList=new Array();
for(var a=0;a<result1.length;a++){
var newObj=result1[a];
if(newObj.children==null||newObj.children==""){
delete newObj.children;//删除属性
}
newList.push(newObj);
}
data1 = {
Rows:newList,
Total:result.data.total
};
return data1;
},
tree:{//树
columnId: 'sbhId',//展开的位置
}
});
不写tree属性则没有树的效果:
后台数据格式:
private String nsrsbh;//纳税人识别号
private String nsrmc; //纳税人名称
private String ctmc; //乡镇名称
private boolean isextend=false;//重点此处,如果写为false,则前台数据是收缩的,如效果图,如果不写则全是展开的,如下图
private List<Hjhk> children;//此处是子级数据
数据查找方法(仅供参考):
List<Hjhk> resultList=page.getResult();//获取的父级数据
List<Hjhk> newList = new ArrayList<Hjhk>();//定义总数据的集合
for(Hjhk hjhkvo : resultList) {
map.put("sbh", hjhkvo.getNsrsbh());
List<Hjhk> treeList=hjhk.getChildren(map);//查找子级数据
hjhkvo.setChildren(treeList);//将子级数据添加到父级属性中
newList.add(hjhkvo);//将数据添加到新的集合中
}
问题:
试了几次好像用分页的时候,如果在一个页面展开了数据,查询别的页码数据时会全部展开,而点击查询还是收缩的。
如有不对望指正。