0

我正在使用DataTables来显示我的数据。我正在使用 fnAddData 将新数据添加到行。此函数在表的最后插入新行。我想要的是当我添加新行时,它成为表格上的第一行。我怎样才能做到这一点?

这是我的代码:

$('#example').dataTable().fnAddData( [
                            caption,
                            grade,
                            "<span class='edit'>Edit</span><span class='delete'>Delete</span>",
                            id,
                            kind,
                            oTable.fnGetData().length ]
                        );
4

2 回答 2

2

如果设置为“bSort”:false,你可以在你的代码之后做这样的事情

var my_array = $('#table').dataTable().fnGetNodes( );
var last_element = my_array[my_array.length - 1];
console.log(last_element);        
$(last_element).insertBefore($('#table tbody tr:first-child'));
于 2013-11-10T11:08:23.200 回答
0

如果启用了排序,那么它将显示排序放置的位置。因此,您必须按将其置于顶部的列进行排序。

如果未启用排序,那么它几乎就像:如何通过 jQuery 在 <table> 中向上或向下移动 <tr>?

如果未启用排序,您可以尝试以下操作,我不确定这是否适用于插件,您最好不要使用 DataTables.net:

var oTable = $('#example').dataTable()
function MoveRowDown(tableId, index)
{
    var rows = oTable.$("tr");

    rows.eq(index).insertAfter(rows.eq(index + 1));
}

function MoveRowUp(tableId, index)
{           
    var rows = oTable.$("tr");

    rows.eq(index).insertBefore(rows.eq(index - 1));
}
于 2013-02-07T17:59:52.923 回答