首页 > 其他 > 详细

DataTables得使用

时间:2019-09-03 15:18:00      阅读:114      评论:0      收藏:0      [点我收藏+]

一.获取所有得数据

table = $(‘#example‘).DataTable({
  "ajax": ‘@Url.Action("GetAll", "Busines")‘,  //要显示得数据,返回格式为数组的数组
  "order": [[0, "desc"]],   //排序 ,0为根据第一列来排序,desc为倒序
  "language": {              //显示的语言
  "lengthMenu": "每页 _MENU_ 条记录",
  "zeroRecords": "没有找到记录",
  "info": "第 _PAGE_ 页 ( 总共 _PAGES_ 页 )",
  "infoEmpty": "无记录",
  "infoFiltered": "(从 _MAX_ 条记录过滤)",
  "paginate": {
  "previous": "上一页",
  "next": "下一页"
  }
},

});    代码为:

技术分享图片
table = $(‘#example‘).DataTable({
              "ajax": ‘@Url.Action("GetAll", "Busines")‘,//显示的数据,返回格式的数组的数组  
              "order": [[0, "desc"]], //排序,0为根据第一列来排序,desc为倒序
              "language": {           //显示的语言  
                  "lengthMenu": "每页 _MENU_ 条记录",
                  "zeroRecords": "没有找到记录",
                  "info": "第 _PAGE_ 页 ( 总共 _PAGES_ 页 )",
                  "infoEmpty": "无记录",
                  "infoFiltered": "(从 _MAX_ 条记录过滤)",
                  "paginate": {
                      "previous": "上一页",
                      "next": "下一页"
                  }
              },
        });
View Code

 

 

二.请求数据源,带参数:

技术分享图片
   table = $("#mytable").DataTable({
            "ajax": {
                url: "/Order/GetOrderALL",
                type: "POST",
                data: { "state": state }
            },
            "language": {
                "lengthMenu": "每页 _MENU_ 条记录",
                "zeroRecords": "没有找到记录",
                "info": "第 _PAGE_ 页 ( 总共 _PAGES_ 页 )",
                "infoEmpty": "无记录",
                "infoFiltered": "(从 _MAX_ 条记录过滤)",
                "paginate": {
                    "previous": "上一页",
                    "next": "下一页"
                }
            },
        });
View Code

如果获取数据源带了参数, 后面操作table.ajax.reload() 刷新都固定为这个参数:

如果要修改参数的值:

table.settings()[0].ajax.data.state =2;    //state为参数名,跟请求数据源时的参数名一样

 

 

三.DataTables折叠表格

有时候表格一行不够用,那我们就可以使用折叠表格,代码:

1.点击指定的按钮,显示折叠行

技术分享图片
//点击查看详情   列里面的class为detalis点击的时候(我一般给第一列命名)
        $(‘.mytable‘).on(‘click‘, ‘ tbody td .detalis‘, function () {
            var tr = $(this).parents(‘tr‘);
            var row = table.row(tr);
            if (row.child.isShown())
            {
                //这一行已经打开,关闭它
                row.child.hide();
                tr.removeClass(‘shown‘);
            }
            else
            {
                //打开这一行
                //format()是一个方法,为获取折叠表格的内容。参数根据功能给
                row.child(format($(this).attr("orderid"))).show();
                    tr.addClass(‘shown‘);
            }
        });
View Code

2. 折叠行里面的内容。可以给固定的。 也可以去数据库里请求。拼接内容

技术分享图片
//订单的 详细信息数据
    function format(e) {
        var dom = ‘<table class="ChildTable" border="1" style="padding-left:50px;">‘ +
            ‘<td>产品logo</td>‘ +
            ‘<td>商品</td>‘ +
            ‘<td>规格型号</td>‘ +
            ‘<td>数量</td>‘ +
            ‘<td>小计</td>‘ +
            ‘</tr >‘;

        var itmp = "";

        $.ajax({
            type: "post",
            url: "/Order/GetDetails",
            async: false,
            data: { "oid": e },
            success: function (ret) {
                for (var i = 0; i < ret.length; i++) {
                    itmp += ‘<tr>‘ +
                        ‘<td><img src="/‘ + ret[i].ProductImg + ‘"></td>‘ +
                        ‘<td>‘ + ret[i].ProductName + ‘</td>‘ +
                        ‘<td style="width:80px;">‘ + ret[i].Spec + ‘</td>‘ +
                        ‘<td style="width:80px;" >x‘ + ret[i].Quantity + ‘</td>‘ +
                        ‘<td style="width:80px;" >¥‘ + ret[i].Money + ‘</td>‘ +
                        ‘</tr >‘;
                }
                dom += itmp += ‘</table>‘;
            }
        });

        return dom;
    }
View Code

 

DataTables得使用

原文:https://www.cnblogs.com/liuzheng0612/p/11453108.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!