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

How to replace an instance of array in Knockout while using datatables?

本文关键字:Knockout 数组 实例 替换 数据表      更新时间:2023-09-26

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

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');

我是否使用自我并不重要。ReportTable([]);或自我。ReportTable.roveAll();结果集确实返回了,但数据表崩溃了。

刚刚发现需要添加此代码才能正确地重新初始化数据表

$.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');
        }