数据表 - 如何获取dataSrc的列

时间:2017-01-05 07:38:02

标签: jquery datatables

所以我的后端正在返回

[{"id":"371","ref":"35\/2016","creator":"Name","status":"part1","username":"user","date":"2016-12-14 00:00:00","title":null,"site":null,"location":"","comment":null}]

我看到dataSrc : ""在一个示例中使用了columns: [...],但是在这个示例中:https://datatables.net/examples/ajax/custom_data_property.html他们很方便地没有举例说明当他们是一个数组的时候如何获得它对象。

有关如何使用<textarea id="txtArea"></textarea> <button type="button" onclick="clickOn()"> 工作的任何提示将不胜感激。

3 个答案:

答案 0 :(得分:0)

检查此链接。 https://datatables.net/examples/ajax/objects_subarrays.html

请参阅ajax选项卡(如下所示)以查看服务器返回的内容。
还使用了柱子。但有关详细信息,请参阅https://datatables.net/reference/option/columns.data

修改 像这样修改你的ajax请求

"ajax": {
            "url" : "",
            "dataSrc" : function (object){
                return object.data;
            }
        }

答案 1 :(得分:0)

方法1: 看看here我认为这是你的答案。

方法2: 您可以解析json响应并创建一个multidimention数组并将其传递给datasrc how to convert JSON array into JavaScript 2D array

方法3: 您可以解析您的响应并创建类似于下面的表结构,并将其附加到div:

<table id="example" class="display" cellspacing="0" width="100%">
            <thead>
                <tr>
                    <th>Name</th>
                    <th>Position</th>
                    <th>Office</th>
                    <th>Extn.</th>
                    <th>Start date</th>
                    <th>Salary</th>
                </tr>
            </thead>
<tbody>
<tr>
<td>Name xyz</td>
<td>Position xyz</td>
<td>Office xyz</td>
<td>Extn xyz</td>
<td>05-Jan-2017</td>
<td>10lacs</td>
</tr>
<tbody>
            <tfoot>
                <tr>
                    <th>Name</th>
                    <th>Position</th>
                    <th>Office</th>
                    <th>Extn.</th>
                    <th>Start date</th>
                    <th>Salary</th>
                </tr>
            </tfoot>
        </table>

现在应用如下所示的jquery代码

$('#example').DataTable({
                responsive: true,
                "pagingType": "full_numbers",
                dom: 'Bfrtip',
                buttons: [
                    'copy', 'csv', 'excel', 'pdf', 'print'
                ]
     });

答案 2 :(得分:0)

似乎是因为我没有正确初始化DataTable。但我也在这里找到了一个例子:https://datatables.net/examples/ajax/custom_data_flat.html

所以你仍然只是使用&#34;数据&#34;在列键中。

https://datatables.net/examples/ajax/custom_data_flat.html

$(document).ready(function() {
    $('#example').DataTable( {
        "ajax": {
            "url": "data/objects_root_array.txt",
            "dataSrc": ""
        },
        "columns": [
            { "data": "name" },
            { "data": "position" },
            { "data": "office" },
            { "data": "extn" },
            { "data": "start_date" },
            { "data": "salary" }
        ]
    } );
} );