数据表生成列并获取行 ID 服务器端

Datatables generate column and get row id Server-side

我有一个数据table 使用 Datatables 服务器端。我已经创建并填充了 table ,如下所示。现在我需要用按钮生成列,但我需要有行的 ID ..

返回我的数据:

{"data":[{"id":"13","name":"gerrard","adress":"new york"}, .... }

我想要类似的东西,如果我点击这个按钮,它会显示该行的 ID .. 这是我的代码:

<table id="example" class="display" cellspacing="0" width="100%">
        <thead>
            <tr>
                <th>name</th>
                <th>adress</th>
            </tr>
        </thead>
</table>

$(document).ready(function() {
    var oTable = $('#example').DataTable({
        "processing": true,
        "serverSide": true,
        "ajax": {
            "url": "server-side-process",
            },

        "columns": [
                    { "data": "name" },
                    { "data": "adress" },
                ]
    } );

} );

我在文档中找到了这个 example,但我无法从返回的数据中获取 ID。请问可以这样做吗?谢谢..

您需要使用 render 属性:

"render": function ( data, type, full) {
            return "<button type='button' class='btn btn-success' data-id=" + full[3] + ">PAY</button>";
    }

full参数是数据行的完整数据源,因此您可以通过索引访问它。在您的情况下,您将使用 full[0] 因为它位于第一个位置。

这是一个使用不同数据的 working example,但您应该能够看到它是如何工作的。