非常感谢任何帮助:
消息"请求的未知参数'检查'第201行和第34行;当动态地将新行添加到现有表时。
我正在尝试动态地将新记录添加到已创建的DataTable中。 (在用户单击某个按钮后,程序会确定它必须添加多少条记录并动态添加它们。以下是我初始化DataTable的方法:
_tbl_actv = $(table).DataTable({
"scrollY": '450px',
"bAutoWidth": true,
//"scrollCollapse": true,
"bFilter": true,
"bLengthChange": true,
"info": true,
"iDisplayLength": 25,
data: collection,
columns: [
{ data: 'Check', width: "5%" },
{ data: 'Descr_En' }
],
"columnDefs": [
{ "title": "#", "targets": 0 },
{ "title": "Activity", "targets": 1 }
]
});
最初'收集'包含200行。稍后,用户可以通过单个操作添加几个新行。以下是这些记录的动态添加方式。
_tbl_actv.row.add([{Check:row.Check, Descr_En:row.Descr_En}]);
- >抛出错误消息!
_tbl_actv.draw();
深入研究Jquery.DataTables js的源代码,我看到了这些:
最初,当DataTable第一次加载前200条记录时,函数" _fnGetObjectDataFn"调用并返回一个指向函数的指针,以便稍后进一步访问此特定行。在我的例子中,它是指针(源代码中的复制粘贴):
/ *数组或平面对象映射* /
return function (data, type) { // row and meta also passed, but not used
return data[mSource];
};
这是最后一个案例
此次通话后,所有200行都是单独指向访问功能(出于加速原因)。
对于新记录,第201条记录此次通话失败,因为我看到了“mSource'虽然我可以看到'数据' (这是一个数组)包含我的新记录。因此调用失败,因为它不返回任何内容(未定义)。看起来为了动态地向DataTable中添加一行,必须进行某种重置,以便“访问”功能'可以为这些新记录构建(因此“mSource'将具有新记录的有效值”)。是否有更合适的调用向DataTable添加行?这是一个错误(我使用的是版本 1.10.2 ),还是更有可能错过了一些非常重要的错误?
非常感谢您的时间,非常感谢您的见解