数据表 - 通过数组循环添加数据如何更改显示的记录?

时间:2017-03-14 11:33:28

标签: jquery datatables

所以我从ajax调用中返回并返回数组,然后循环遍历它以将记录添加到我的数据表中:

for (i = 0; i < data.length; i++) {
jobDetails.push(data[i]);
$('#JobTable').dataTable().fnAddData([
                    data[i].Id,
                    data[i].Title,
                    data[i].Frequency,
                    data[i].Priority,
                    data[i].DateDue,
                    data[i].AssignedToName
                    ]);
}

当我以这种方式向表格添加数据时,有没有办法让我显示超过标准的记录集?

我尝试初始化数据库并添加自定义值,例如&#34; pageLength&#34;:50,但是当我尝试将数据传递到数据表时,它正在尝试重新初始化它(显然不是工作)

以这种方式将数据传递到DT的原因是,它使用的视图模型具有更多的值(在其他地方使用,请参阅正在填充的jobDetails数组),因此我可以准确定义我需要显示的内容一种更简单,更简洁的方式。

我实际上已经想出了如何使用稍微不同的方式将我的数据推送到我的数据表中:

$('#JobTable').DataTable({
        "pageLength": 50,
        "aaSorting": [3, 'asc'],
        "ajax": {
            "url": "/Home/GetJobs",
            "dataSrc": function (data) {
                var returnData = new Array();
                for (i = 0; i < data.length ; i++) {
                    jobDetails.push(data[i]);
                    var dateDue = moment(data[i].NextDue).format('DD-MMM-YYYY');
                   // var formattedDate = moment().format('DD-MMM-YYYY');
                    returnData.push({
                        "Id": data[i].Id,
                        "Title": data[i].Title,
                        "Frequency": data[i].Frequency,
                        "Priority": data[i].Priority,
                        "NextDue": dateDue,
                        "AssignedToName": data[i].AssignedToName
                    });
                }
                return returnData;
            }
        },
        "columns": [
            { "data": "Id" },
            { "data": "Title" },
            { "data": "Frequency" },
            { "data": "Priority" },
            { "data": "NextDue" },
            { "data": "AssignedToName" }
        ]
    });

0 个答案:

没有答案