前言:
使用easyui的datagrid,在最后一行加上“总计”字样,效果如下:
过程:
... <table id="dg" title="xx管理" fitColumns="true" pagination="true" rownumbers="true" nowrap="true" fit="true" toolbar="#tb" data-options="pageSize:25,pageList:[10,15,25,50,100],singleSelect:true,showFooter: true"> <thead> <tr id="options"> <th data-options="field:‘id‘,width:50,align:‘center‘">编号</th> <th data-options="field:‘name‘,width:150,align:‘center‘">名称</th> <th data-options="field:‘remark‘,width:100,align:‘center‘">备注</th> <th data-options="field:‘addr‘,width:130,align:‘center‘">地区</th> <th data-options="field:‘percount‘,width:50,align:‘center‘,sortable:true">人数</th> <th data-options="field:‘chatCount‘,width:50,align:‘center‘">聊天条数</th> <th data-options="field:‘createtime‘,width:100,align:‘center‘,formatter:formatReg">创建时间</th> <th field="operate" width="120" align="center" data-options="formatter:formatOperate" >操作</th> </tr> </thead> </table> ...
在data-option中增加showFooter属性为true,并在后台准备数据的时候增加footer属性,并且其中字段名跟数据库中的保持一致:
... return this.json({total: result.count, rows: result.data,footer:[{"name":"总计","percount":personTotal,"chatCount":chatTotal}]}); ...
但是,莫名其妙的出现了下面的情景:
就是在最后一栏“操作”中出现了不该出现的三个按钮,解决方法:在后台组织返回数据的时候,增加一个属性,比如:
... return this.json({total: result.count, rows: result.data,footer:[{"isFooter":true,"name":"总计","percount":personTotal,"chatCount":chatTotal}]}); ...
然后在前台代码上增加一个判断:
... function formatOperate(value, row, index){ var update = ‘<a onclick="openUpdateDialog(‘+index+‘)" href="javascript:void(0)" title="修改" class="linkbutton" data-options="plain:true,iconCls:\‘icon-page_edit\‘"></a>‘; var delStr=‘<a onclick="del(‘+row.id+‘)" href="javascript:void(0)" title="删除" class="linkbutton" data-options="plain:true,iconCls:\‘icon-delete\‘"></a>‘; var checkUsers =‘<a onclick="checkUsers(‘+index+‘)" href="javascript:void(0)" title="查看圈子成员" class="linkbutton" data-options="plain:true,iconCls:\‘icon-group\‘"></a>‘; if(!row.isFooter){ return checkUsers+ " "+update+ " "+delStr; }else{ return ""; } } ...
后言:
这样便完美的解决了footer中出现的问题。
时间: 2024-10-10 22:01:46