分页的datatable

来源:互联网 发布:python模块大全下载 编辑:程序博客网 时间:2024/06/06 17:52
<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8">
    <meta name="renderer" content="webkit|ie-comp|ie-stand">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
    <meta http-equiv="Cache-Control" content="no-siteapp" />
   
    <link rel="stylesheet" type="text/css" href="static/h-ui/css/H-ui.min.css" />
    <link rel="stylesheet" type="text/css" href="static/h-ui.admin/css/H-ui.admin.css" />
    <link rel="stylesheet" type="text/css" href="lib/Hui-iconfont/1.0.8/iconfont.css" />
    <link rel="stylesheet" type="text/css" href="static/h-ui.admin/skin/default/skin.css" id="skin" />
    <link rel="stylesheet" type="text/css" href="static/h-ui.admin/css/style.css" />
    <style type="text/css">
        .table td {
            text-align: center;
        }
    </style>


    <title>商户管理</title>
</head>
<body>
    <nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页 <span class="c-gray en">&gt;</span> 商户管理 <span class="c-gray en">&gt;</span> 商户管理 <a class="btn btn-success radius r" style="line-height:1.6em;margin-top:3px" href="javascript:location.replace(location.href);" title="刷新"><i class="Hui-iconfont">&#xe68f;</i></a></nav>
    <div class="page-container">
        <div class="text-c">


            <span class="select-box inline">
                <select name="PartnerTypeId" class="select" id="PartnerTypeId">
                    <option value="0">商户类型</option>
                    <option value="1">低碳商户</option>
                    <option value="2">自修</option>
                   
                </select>
                <input type="text" name="PartnerName" id="PartnerName" placeholder=" 商户名称" style="width:250px" class="input-text">
                <select name="State" class="select" id="State">
                    <option value="-1">启用状态</option>
                    <option value="1">启用</option>
                    <option value="0">禁用</option>
                </select>
                <button name="" id="" class="btn btn-success" type="submit" onclick="Totals();"><i class="Hui-iconfont">&#xe665;</i> 搜商户</button>
        </div>
        <div class="cl pd-5 bg-1 bk-gray mt-20"> 
        <span class="l"> 
            <span id="importspan"> <a class="btn btn-primary radius" data-title="导入商户" onclick="basepartner_import('导入商户', 'partner-excelimport.html')" href="javascript:;"> <i class="Hui-iconfont">&#xe600;</i> 导入商户</a> </span> 
            <a class="btn btn-primary radius" data-title="导出商户"  onclick="ExcelExport()" href="javascript:;" ><i class="Hui-iconfont">&#xe600;</i> 导出商户</a>
        </span>  </div>
 <div class="mt-20">
            <table class="table table-border table-bordered table-bg table-hover table-sort table-responsive" id="partnertable">
                <thead>
                    <tr class="text-c">
                        <th width="80">ID</th>
                        <th width="120">商户类型</th>
                        <th width="80">商户拼音首字母</th>
                        <th width="80">商户编号</th>
                        <th width="250">商户名称</th>
                        <th width="75">归属地市</th>
                        <th width="75">联系人</th>
                        <th width="75">联系电话</th>
                        <th width="75">办公室电话</th>
                        <th width="85">绑定设备号</th>
                        <th width="75">星级分数</th>
                        <th width="60">状态</th>
                        <th>操作</th>
                    </tr>
                </thead>
              
            </table>
        </div>
    </div>
    <!--_footer 作为公共模版分离出去-->
    <script type="text/javascript" src="lib/jquery/1.9.1/jquery.min.js"></script>
    <script type="text/javascript" src="lib/layer/2.4/layer.js"></script>
    <script type="text/javascript" src="static/h-ui/js/H-ui.min.js"></script>
    <script type="text/javascript" src="static/h-ui.admin/js/H-ui.admin.js"></script> <!--/_footer 作为公共模版分离出去-->
    <!--请在下方写此页面业务相关的脚本-->
    <script type="text/javascript" src="lib/My97DatePicker/4.8/WdatePicker.js"></script>
    <script type="text/javascript" src="lib/datatables/1.10.0/jquery.dataTables.min.js"></script>


</body>
</html>
<script>
    var a = -1;
    $(function () {
       
        $.ajax({
            type: "POST",
            url: "Ajax/SystemAjax/SystemAjax.aspx?type=selectLoginIndex",
            dataType: "json",
            anysc:false,
            success: function (msg) {
                if (msg != "") {
                 
                    if (msg.AdminTypeID == 0) {
                        $("#importspan").show();
                        a = 0;
                     
                    }
                    else {
                        $("#importspan").hide();
                        a = 1;
                      
                    }
                }
                else {
                  
                }
            }
        });


        Totals();


    });


    function Totals() {


        var state = $("#State").val();
        var partnerName = $("#PartnerName").val();
        var typeid = $("#PartnerTypeId").val();
        // 分页是服务器模式,把本来客户端所做的事情交给服务器去处理, 比如排序(order)、分页(paging)、过滤(filter)。
        $('#partnertable').DataTable({
            "paging": true,
            "searching": false,//搜索框
            "destroy": true,//Cannot reinitialise DataTable,解决重新加载表格内容问题,即可搜索查询
            "processing": true,
            "serverSide": true,//服务器端分页
           
            "lengthChange": false,//禁掉表格自带的选择每页条数的下拉框
           
            "ajax": {
                "type": "post",
                "anysc": false,
                // "url": 'Ajax/BaseAjax/BasePartnerAjax.aspx?type=PartnerinfoJson&state=' + state + '&PartnerName=' + partnerName + '&PartnerTypeId=' + typeid,
                "url": 'Ajax/BaseAjax/BasePartnerAjax.aspx',
                "data": {
                    type: "PartnerinfoJson",
                    state: state,
                    PartnerName: partnerName,
                    PartnerTypeId: typeid
                }


            },
           
            columns: [
           { data: 'PartnerID' },
           {
               data: 'PartnerTypeId',
               render: function (data, type, full, meta) {


                   if (data == 1) {
                       return '<td class="td-status"><span class="label label-primary radius">低碳</span></td>';
                   }
                   else {
                       return '<td class="td-status"><span class="label label-secondary radius">自修</span></td>';
                   }


               }


           },
           { data: 'PartnerFirstChara' },
           { data: 'PartnerNO' },
           { data: 'PartnerName' },
           { data: 'CityName' },
           { data: 'ContactPerson' },
           { data: 'ContactTel' },
           { data: 'LandlineNum' },
           { data: 'PartnerMachineCode' },
           { data: 'StarNum' },
           {
               data: 'State',
               render: function (data, type, full, meta) {


                   if (data == 1) {
                       return '<td class="td-status"><span class="label label-success radius">可用</span></td>';
                   }
                   else {
                       return '<td class="td-status"><span class="label label-danger radius">禁用</span></td>';
                   }


               }
           },
           { data: null },
            ],
            "columnDefs": [{
                // 定义操作列
                "targets": -1,
                orderable: false,
                "data": null,
                "render": function (data, type, row) {
                    var html = '<a style="text-decoration:none" class="ml-5" onClick="basepartner_edit(\'商户编辑\',\'partner-add.html\',\'' + row.PartnerID + '\')" href="javascript:;" title="编辑"><i class="Hui-iconfont">&#xe6df;</i></a>'
                    if (a == 0) {
                        html += '<span id="jiebanghref"><a  class="ml-5 " onClick="basepartner_remove(' + row.PartnerID + ')" href="javascript:;" title="解绑"><i class="Hui-iconfont">&#xe605;</i></a></span>'


                    }
                    return html;
                }
            }],


            language: {
                "processing": "正在加载中...",
                "lengthMenu": "每页显示 _MENU_ 项结果",
                "zeroRecords": "没有匹配结果",
                "info": "显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项",
                "infoEmpty": "显示第 0 至 0 项结果,共 0 项",
                "infoFiltered": "(由 _MAX_ 项结果过滤)",
                "infoPostFix": "",
               
                "url": "",
                "emptyTable": "表中数据为空",
                "loadingRecords": "载入中...",
                "infoThousands": ",",
                "paginate": {
                    "first": "首页",
                    "previous": "上页",
                    "next": "下页",
                    "last": "末页"
                },
                "aria": {
                    "sortAscending": ": 以升序排列此列",
                    "sortDescending": ": 以降序排列此列"
                }
            }
        });




    }


   
    /*商户-编辑*/
    function basepartner_edit(title, url, id) {
        var index = layer.open({
            type: 2,
            title: title,
            content: url + "?Pid=" + id,


        });
        layer.full(index);
    }




    function basepartner_remove(id)
    {
     
        layer.confirm('确认要解绑吗?',function(index){
        $.ajax({
            type: "POST",
            url: "Ajax/BaseAjax/BasePartnerAjax.aspx?type=basepartnerremove&&pid="+id,
           
            dataType: "html",
            success: function (msg) {
                if (msg == "true") {
                    layer.msg('解绑成功!', { icon: 1, time: 3000 }, function () {


                        Totals();
                    });




                }
                else {
                    layer.msg('解绑失败!', { icon: 2, time: 3000 });
                }
            }




        });
        });
    }


    /*商户-导入*/
    function basepartner_import(title, url) {
        var index = layer.open({
            type: 2,
            title: title,
            content: url,


        });
        layer.full(index);
    }


    //Excel导出
    function ExcelExport() {
        var state = $("#State").val();
        var partnerName = $("#PartnerName").val();
        var typeid = $("#PartnerTypeId").val();
        $.ajax({
            type: "POST",
            url: "Ajax/BaseAjax/BasePartnerAjax.aspx?type=Partnerinfoexport&state=" + state + "&PartnerName=" + partnerName+"&typeid="+typeid,
            dataType: "json",
            success: function (data) {
                
                location.href = location.origin + '/' + data;
            }
        });
    }




后端

 private void PartnerinfoJson()
        {








            string r_str = string.Empty;
            Base_Partner_Info basepartnerinfo = new Base_Partner_Info();
            basepartnerinfo.State = Convert.ToInt32(Request.Form["state"]);
            basepartnerinfo.PartnerName = Request.Form["PartnerName"];
            basepartnerinfo.PartnerTypeId = Convert.ToInt32(Request.Form["PartnerTypeId"]);
            //int start = Convert.ToInt32(Request.Form["start"]);//第一条数据的起始位置
            //int length = Convert.ToInt32(Request.Form["length"]);
            int start =0;//第一条数据的起始位置
            int length = Convert.ToInt32(Request.Form["length"]);
            var sEcho = Request.Form["sEcho"]; 
            var temppaall = LoadPartnerInfo(basepartnerinfo).ToList();


           var temppa = temppaall.Skip(start).Take(length).AsQueryable().ToList();
            List<Base_Partner_InfoJson> list = new List<Base_Partner_InfoJson>();
            // List<Base_Partner_Info> list = temp.ToList();
            string cityname = string.Empty;
            foreach (var bp in temppa)
            {
                var citytemp = _BaseCityInfo.LoadEntities(o => o.CityCode == bp.CityCode).FirstOrDefault();
                if (citytemp != null)
                {
                    cityname = citytemp.CityName;
                }
                Base_Partner_InfoJson spm = new Base_Partner_InfoJson();
                spm.PartnerID = bp.PartnerID;
                spm.PartnerNO = bp.PartnerNO;
                spm.PartnerFirstChara = bp.PartnerFirstChara;
                spm.PartnerMachineCode = bp.PartnerMachineCode;
                spm.PartnerName = bp.PartnerName;
                spm.PartnerTypeId = bp.PartnerTypeId;
                spm.CityCode = bp.CityCode;
                spm.CityName = cityname;
                spm.ContactPerson = bp.ContactPerson;
                spm.ContactTel = bp.ContactTel;
                spm.LandlineNum = bp.LandlineNum;
                spm.StarNum = bp.StarNum;
                spm.State = bp.State;
                list.Add(spm);


            }




            var result = new PageRecordMOD<Base_Partner_InfoJson>();
            //result.recordsTotal = list.Count();
            //result.TotalDisplayRecords = list.Count();
            
            result.recordsTotal = temppaall.Count();
            result.TotalDisplayRecords = temppaall.Count();
            result.data = list.ToList();
            //result.data = list.Skip(length * (start - 1)).Take(length).AsQueryable().ToList();
            result.draw = Convert.ToInt32(sEcho);
            r_str = JsonConvert.SerializeObject(result);


            Response.Write(r_str);


        }


</script>