使用jQuery DataTables插件,fnAddData()是否在html表的顶部或底部添加了行?

leo*_*ora 6 html jquery plugins datatables

我测试了这个,我问这个问题的原因是它似乎为不同的表做了不同的事情.

如果这是可配置的,我找不到任何文档.我本来以为它会将行添加到底部,但我有一些例子,我看到它在顶部或甚至在中间添加行.这似乎很随意.

有任何想法吗?

kgi*_*kis 12

我查看了源代码,fnAddData调用了内部方法_fnAddData,它添加了一行,如果成功,则返回表中的索引._fnAddData在底部添加新行(新行的索引等于表中行的数量).

但是,fnAddData有一个可选参数来重绘表,同时考虑到启用的各种功能.此参数默认为true,这可能导致"随机"行为.


小智 5

按照kgiannakaki的说明浏览Datatable的源代码.该方法将所有新数据行附加到表的末尾.

"随机"行为的原因是,每次添加新行时,除非另有说明,否则该方法将执行整个表的"重绘".当这样做时,表通过多个功能运行,如过滤/排序等等......并完全重写到页面.基本上我猜你是在将新的行中添加随机位数据,这可能会产生"随机"效果,无论何时添加新行.

您可以通过在fnAddData调用中添加第二个参数来轻松禁用表重绘,该参数需要设置为false.

$(this).fnAddData(data, false);
Run Code Online (Sandbox Code Playgroud)

如果此问题仍然存在,我会针对此问题提交错误,因为他们没有其他原因导致此行为.