简单说,用了
 $.post('Process/FileExportHandler.ashx', { ProcessType: 'QueryReport', BusinessDateStart: businessDateStart, BusinessDateEnd: businessDateEnd, BusinessType: businessType, page: gridOpts.pageNumber, rows: gridOpts.pageSize },
              function (data) {
                  $('#dg').datagrid({ columns: [data.columns] }).datagrid("loadData", data);             
              }, 'json');   
而不是
$('#dg').datagrid({ url: url }); 
导致上一页,下一页等没有被触发了。

解决方案 »

  1.   

    你这个是自定义获取数据,都没有设置url,当然不会处理你的分页columns要动态获取你可以先发送ajax获取到column的内容后再构造grid,加上url配置你要动态附加其他参数可以使用onBeforeLoad事件,参数为param,修改param参数增加你的附加数据就行了,这些附加的数据会一起发送到服务器     $(function () {
                TableInit();       
            });
     
     
            function TableInit() {
                $.post('Process/FileExportHandler.ashx', function (data) {//动态页只需要返回column就行了,数据不需要了
                    $('#dg').datagrid({
                        toolbar: "#toolBar",
                        title: "查询",
                        loadMsg: '正在加载信息...',
                        iconCls: "icon-grid",
                        singleSelect: true,
                        striped: true,
                        fitColumns: true,
                        singleSelect: true,
                        pagination: true,
                        rownumbers: false,
                        pageSize: 15,
                        pageList: [15, 20, 30, 40, 50],
                        url: 'xxxxxxxxx', ////
                        columns: [data.columns],
                        onBeforeLoad: function (param) {                        var businessDateStart = GetSelectedBusinessDate("#businessYearStart", "#businessMonthStart");
                            var businessDateEnd = GetSelectedBusinessDate("#businessYearEnd", "#businessMonthEnd");
                            var businessType = $('input:radio[name=BusinessType]:checked').val();
                            var gridOpts = $('#dg').datagrid('getPager').data("pagination").options;
                            param.ProcessType = 'QueryReport';
                            param.BusinessDateStart = businessDateStart;
                            param.BusinessDateEnd = businessDateEnd;
                            param.BusinessType = businessType
                            param.page = gridOpts.pageNumber
                            param.rows = gridOpts.pageSize
                        }
                    });
                });
            }
            function Search() {            var businessDateStart = GetSelectedBusinessDate("#businessYearStart", "#businessMonthStart");
                var businessDateEnd = GetSelectedBusinessDate("#businessYearEnd", "#businessMonthEnd");
                var businessType = $('input:radio[name=BusinessType]:checked').val();            var gridOpts = $('#dg').datagrid('getPager').data("pagination").options;
                $('#dg').datagrid('load', { ProcessType: 'QueryReport', BusinessDateStart: businessDateStart, BusinessDateEnd: businessDateEnd, BusinessType: businessType, page: gridOpts.pageNumber, rows: gridOpts.pageSize });
            }