如何在没有定义的情况下将列获取到jQuery数据表

时间:2019-05-20 10:22:03

标签: c# jquery datatables

我在oracle中有一个表,其中有86列。我想将所有列都添加到服务器端数据表中。

我从适用于服务器端的表中获取了所有列数据。

然后用jquery创建服务器端数据表。我这样定义每列;

$('#server_side').DataTable({
...
        "columns": [
            { "data": "ID", "name": "ID", "title": "ID", "autoWidth": true, "class":"read_only" },
            { "data": "TANIM", "name": "TANIM", "title":"TANIM", "autoWidth": true },
            { "data": "SKOD", "name": "SKOD", "title": "SKOD", "autoWidth": true },
            { "data": "BARKOD", "name": "BARKOD", "title": "BARKOD", "autoWidth": true }
        ],
....

它工作正常,但我不想一一定义任何列。有没有简单的方法来获取所有列

1 个答案:

答案 0 :(得分:0)

我找到了解决方法。

    $.ajax({
            url: "/getColumnNames",// as an Array
            type: "POST",
            datatype: "json",
            success: function (data) {
                for (var i = 0; i < data.data.length; i++) {
                    columns.push({
                        data: data.data[i],
                        name: data.data[i],
                        title: data.data[i]
                    });
                }
                $('#server_side').DataTable({
                    processing: true,
                    serverSide: true,
                    ajax: {
                        "url": "/getTable",
                        "type": "POST",
                        "datatype": "json"
                    },
                    fnCreatedRow: function (nRow, aData) {
                        $(nRow).attr("ID", aData["ID"]);
                    },
                    columns: columns,
                    order: [0, "asc"],
                    columnDefs: [
                        { "class": "read_only", "targets": 0 }
                    ]

                });
            }
        });