MVC使用bootstrap的datatables 实现后台分页显示

js 代码    
function MultiGNDDataQuery() {
        var EquipmentNo = $("#txtEquipmentNo").val();
        var OrganizationID = $("#txtOrganizationID").val(); 

                $('#tbMultiGND').DataTable({
                    dom: 'Bfrtip',
                    "buttons": [
                        {
                            'extend': 'excel',
                            'text': 'excel',
                            'className': 'ml-15 btn btn-success',//按钮的class名称 
                        },
                    ],
                    "paging": true,
                    "lengthChange": false,
                    "searching": false,
                    "processing": true,
                    "serverSide": true,
                    "iDisplayLength": 10,
                    ajax: function (data, callback, settings) {
                        var param = {}; 

                        //组装分页参数
                        param.startIndex = data.start;//起始页号
                        param.pageSize = data.length;//页长度 

                        console.log(data.start)
                        console.log(data.length)
                        $.ajax({
                            type: 'POST',
                            url: '@Url.Action("GetMultiGND")',
                            //contentType: "application/json; charset=utf-8",
                            data: {
                                OrganizationID: OrganizationID,
                                EquipmentNo: EquipmentNo,
                                dateFrom: dateFrom,
                                dateTo: dateTo,
                                StartIndex: data.start,
                                PageSize:data.length,
                            },
                            async: false,
                            success: function (result) {
                                console.log(result)
                        //setTimeout仅为测试延迟效果
                                setTimeout(function () {
                                    //异常判断与处理
                                    if (result.errorCode) {
                                        //$.dialog.alert("查询失败。错误码:"+result.errorCode);
                                        return;
                                    }

                                    //封装返回数据,这里仅演示了修改属性名
                                    var returnData = {};
                                    returnData.draw = data.draw;//这里直接自行返回了draw计数器,应该由后台返回
                                    returnData.recordsTotal = result.total;
                                    returnData.recordsFiltered = result.total;//后台不实现过滤功能,每次查询均视作全部结果
                                    returnData.data = result.data;

                                    callback(returnData);
                        },200);
                    },
                    error: function(XMLHttpRequest, textStatus, errorThrown) {
                        //$.dialog.alert("查询失败");
                        //$wrapper.spinModal(false);
                    }
 
                        });
                    },

                    destroy: true,
                    //data: data,
                    columns: [
                        { data: 'EquipmentNo' },
                        { data: 'Status' },
                        { data: 'StandResistance' },
                        { data: 'Resistance1' },
                        { data: 'Resistance2' },
                        { data: 'Resistance3' },
                        { data: 'Resistance4' },
                        { data: 'Resistance5' },
                        { data: 'Resistance6' },
                        { data: 'Resistance7' },
                        { data: 'Resistance8' },
                        { data: 'CreateDate' }
                    ]
                });

        //    },
        //    error: function (message) {
        //        alert('未查询到数据');
        //        console.log(message)
        //    }
        //});
    }

 

 

MVC controller层代码   
     [HttpPost]
        public JsonResult GetMultiGND(QueryModels qm)
        { 
            ResultModels rm = new ResultModels();
            rm.Code = "0";
            try
            {
                DataSet ds = com.canmax.DAL.DataAnalysis.MultiGND.GetMultiGND1(qm); 

                List<MultiGNDModels> ls = DataTableExtend.ToDataList<MultiGNDModels>(ds.Tables[0]);
                return Json(new
                {
                    draw = 10, 
                    total = ds.Tables[1].Rows[0]["Total"].ToString(), 
                    data = ls,
                }, JsonRequestBehavior.AllowGet); 

            }
            catch (Exception ex)
            {
                rm.Code = "1";
                rm.Message = ex.Message;

                return Json(rm);
            }
        }
   DAL层代码
        public static DataSet GetMultiGND1(QueryModels qm)
            {
                string sqlstr = @"select  EquipmentNo,Status,ROUND(StandResistance,2) AS StandResistance ,
                                          ROUND(Resistance1,2) AS Resistance1,ROUND(Resistance2,2) AS Resistance2,
                                          ROUND(Resistance3,2) AS Resistance3,ROUND(Resistance4,2) AS Resistance4,
                                          ROUND(Resistance5,2) AS Resistance5,ROUND(Resistance6,2) AS Resistance6,
                                          ROUND(Resistance7,2) AS Resistance7,ROUND(Resistance8,2) AS Resistance8,  CreateDate
                                    from multignd
                                        where EquipmentNo LIKE @EquipmentNo and CreateDate between @dateFrom and @dateTo AND
                                              EquipmentNo IN (SELECT EquipmentNo FROM equipment WHERE  EquipmentType='MultiGND' AND OrganizationID LIKE @OrganizationID )
                                    LIMIT @StartIndex,@PageSize;
                                select  count(1) as Total
                                    from multignd
                                        where EquipmentNo LIKE @EquipmentNo and CreateDate between @dateFrom and @dateTo AND
                                              EquipmentNo IN (SELECT EquipmentNo FROM equipment WHERE  EquipmentType='MultiGND' AND OrganizationID LIKE @OrganizationID );";

                MySqlParameter[] sqlParameter =  { 
                    new MySqlParameter("EquipmentNo",qm.EquipmentNo+"%"),
                    new MySqlParameter("dateFrom",qm.dateFrom),
                    new MySqlParameter("dateTo",qm.dateTo),
                    new MySqlParameter("OrganizationID",qm.OrganizationID+"%"),
                    new MySqlParameter("StartIndex",qm.StartIndex),
                    new MySqlParameter("PageSize",qm.PageSize),
            };

                DataSet ds = MySqlHelper_.ExecuteDataSet(sqlstr, sqlParameter);

                return ds;
            }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值