easyui 分页组件的使用

2020-05-29 10:44:57 浏览数 (1)

代码语言:javascript复制
在这里以我自己的一个例子,frozen是将thead里边的列冻结起来
代码语言:javascript复制
<table id="records" class="easyui-datagrid"  >
    <thead  data-options="frozen:true">
        <tr>
            <th align="center" data-options="field:'lot_num',formatter:changeHref">工单批号</th>
            <th align="center" data-options="field:'order_code'">生产批号</th>
            <th align="center" data-options="field:'customer_po'">客户订单号</th>
            <th align="center" data-options="field:'qty_in'">进料<br/>数量</th>
            <th align="center" data-options="field:'qty_out'">出料<br/>数量</th></tr>
    </thead>
</table>
代码语言:javascript复制
格式化工单批号
代码语言:javascript复制
function changeHref(value,row,index){
    var lgo="/XXXXX/" value;
    return "<a class='detailButton' href=" lgo ">" value "</a>";
}
代码语言:javascript复制
$(function(){
        $("#records").datagrid({
        rownumbers:true,
        pageSize: 50,
        pageList: [50,100,200],
        loadMsg:'加载中...',
        url:'/XXXX/XXXX/',
        fitColumns:true,
        pagination:true,
        singleSelect: true
    });

    //设置分页,在点击下边分页的时候执行
    var p = $("#records").datagrid('getPager');
    $(p).pagination({
        onChangePageSize:function(_pagesize){  //改变每页记录数
            cm.showdata();//获取分页的相关数据后执行重新刷新datagrid
        },
        onSelectPage:function(_page, _pagesize){
            cm.showdata();
        }
    });
});
代码语言:javascript复制
var cm ={};
代码语言:javascript复制
//这里是当showdata事件执行时,reload整个datagrid
代码语言:javascript复制
cm.showdata=function(){
    var pageSize = $("#records").datagrid('getPager').data("pagination").options.pageSize;
    var pageNumber = $('#records').datagrid('getPager').data('pagination').options.pageNumber;
    
    var params={'pageSize':pageSize,'pageNumber':pageNumber'}

    $('#records').datagrid('options').queryParams = params;
    $('#records').datagrid('reload');
}

后台php代码如下

代码语言:javascript复制
//传值排序参数
$pageNumber = $this->_request->getParam('pageNumber');
$pageSize = $this->_request->getParam('pageSize');
代码语言:javascript复制
$select->limitPage($pageNumber, $pageSize);

分页前先执行获取总数

代码语言:javascript复制
$total = count(XXXX);
代码语言:javascript复制
$array_data = select出来的数据,注意字段必须跟前端设置的field保持一致
代码语言:javascript复制
最后传json数据
代码语言:javascript复制
$ret['total'] = $total;
$ret['rows'] = $array_data;
echo json_encode($ret);

数据的索引total和rows名称是固定的,无需修改,会自动传到前台解析

这样整个分页组件的使用教程就到这里结束了

0 人点赞