繁体   English   中英

如何从数据表中获取最后插入的行

[英]How to get last inserted row from a datatable

我使用数据表插件来创建一个数据表。 我放了一个按钮来添加新行。 新插入的行可以在任何位置,具体取决于表的排序依据。 插入后,我需要为行内的按钮设置一个事件。 所以我必须得到最后插入的行才能这样做。 但我找不到办法。 我在下面尝试过,但它不起作用。 index()不会返回行实际所在的确切索引。

var row = table.row.add({...});
row.draw();
var tr = $('#datatable tbody tr').get(row.index());

请帮忙。 非常感谢您的回答,并在此先感谢您。

取表的长度和-1 ,该数字是最后一个trindex

var lastRowIndex = $('#datatable tr').length -1;

新行将附加到行列表的末尾,因此您可以执行以下操作

table.row(table.rows().count()-1)

请参阅此处的小提琴。

无法使用任何插件提供的功能找到解决此问题的方法。 但谢天谢地,有一个解决方法。

在列渲染功能中标记插入的行。 例如,我附加一个标签

datatable = $('#datatable').DataTable({columns : [{render : function(){... <last/> ...}}]});

在插入新行时,插入一个指示包含标志的数据。 通过标志获取行。 然后取下标志。

datatable.row.add({...}).draw();
var row = $('last').parents('tr');
$('last').remove();

对于不需要显式编辑<tr>任何其他情况,获取最后插入行的索引。 获取数据表行并更新数据。 设置列渲染函数以相应地渲染更新的行。

var i = datatable.rows().count() - 1;
var data = datatable.row(i).data();
datatable.row(i).data(changeSomething(data)).draw();

并删除行

datatable.row(i).remove().draw();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM