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 に答える