使用jquery DataTables将数据添加到第一行

时间:2013-02-07 08:05:02

标签: jquery datatables

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

这是我的代码:

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

2 个答案:

答案 0 :(得分: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'));

答案 1 :(得分:0)

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

如果未启用排序,那么它几乎就像:How to move a <tr> up or down within <table> via jQuery?

如果未启用排序,您可以尝试以下操作,我不确定这是否适用于该插件,您最好不要使用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));
}