jquery.dataTables动态列--转

转自 https://www.cnblogs.com/lyeo/p/4765514.html

jquery.dataTables  版本1.10.7

直接上代码:

0、table

    <table id="popReportTable">
        <thead>
            <tr id="trId">
                <td>显示名,这里可以给tr一个id,然后用$("#trId").html("列名...")来改变显示列名</td>
            </tr>
        </thead>
        <tbody>
        </tbody>
    </table>

 

1、生成动态列

//dataTables的json返回的列名
            var columnList = [];      //显示列对应的json字段

            var columnStr = "Id,Name,Code,Age,Pwd";
            
            colArr = columnStr.split(',');
            for (var i = 0; i < colArr.length; i++) {
                var obj = {};
                obj['data'] = colArr[i];
                columnList.push(obj);
            }

 

2、设置dataTables配置项

var settings = {
                "ajax": 'url地址',
                "retrieve": true,
                "columns": columnList
            };

 

3、dataTables创建并且生成(这么写的原因:每次动态列字符串改变,dataTables也会跟着改变)

//这样写就能把datatable完全重新载入
            $('#popReportTable').DataTable().clear();
            $('#popReportTable').DataTable().destroy();
            $('#popReportTable').DataTable(settings);

 

 将配置项放后台获取,在获取完毕后再获取data。

posted @ 2019-03-03 16:13  邑尘  阅读(825)  评论(0编辑  收藏  举报