如何在使用数据表时替换Knockout中的数组实例?

时间:2016-01-12 15:37:58

标签: javascript jquery knockout.js datatable

我有一个表从下面的JSON调用中填充,对于每次调用我都无法替换以前的结果并想知道为什么?(在ReportTable上使用knockout js进行绑定和数据表)

JS:

$.post("GetReport", { "Filter": ko.toJSON(Filter) }, function (data) {

            self.ReportTable([]);

            for (var i = 0; i < data.length; i++) {
                    self.ReportTable.push(data[i]);
            }

                $('#ReportsTable').DataTable(data);
               }, 'JSON');

如果我使用self.ReportTable([])并不重要;或者self.ReportTable.rmoveAll();结果集确实返回但数据表崩溃。

1 个答案:

答案 0 :(得分:0)

刚想出来需要添加此代码才能正确重新初始化数据表

$.post("GetReport", { "ReportFilter": ko.toJSON(reportFilter) }, function (data) {
            $('#ReportsTable').DataTable().clear();
            $('#ReportsTable').DataTable().destroy();

            self.ReportTable.removeAll();
            for (var i = 0; i < data.length; i++) {
                    self.ReportTable.push(data[i]);
            }
            $("#ReportsResult").show();

            $('#ReportsTable').DataTable(data);
            }, 'JSON');
        }