2012-04-18 23 views
5

Ich möchte die Zeile aus der Datentabelle löschen. Hier ist der von mir verwendete Datentypcode:jQuery Datatables: Wie lösche ich die Zeile

var aSelected = []; 

oTable = $('.itemPublished').dataTable({ 
    "bJQueryUI": true, 
    "sPaginationType": "full_numbers", 
    "bServerSide": true, 
    "bProcessing": true, 
    "sAjaxSource": "/item/datatable", 
    "bDeferRender": true, 
    "iDisplayLength":20, 
    "aLengthMenu": [[10, 20, 50, 75, 100, 150], [10, 20, 50, 75, 100, 150]], 
    "aoColumnDefs": [ 
      { "bSortable": false, "aTargets": [ 2, 3, 4 ] }, 
      { "sClass": "left", "aTargets": [ 1 ] } 
    ], 
    "fnRowCallback": function(nRow, aData, iDisplayIndex) { 
     if (jQuery.inArray(aData.DT_RowId, aSelected) !== -1) { 
      $(nRow).addClass('row_selected'); 
     } 
     $(nRow).addClass('gradeA'); 
     return nRow; 
    } 
}); 

Ich wollte ein Ereignis feuern, um eine Zeile aus der Datentabelle zu löschen. Das Ereignis wird durch eine Schaltfläche ausgelöst, die sich außerhalb des Tabellenbereichs der Datentabelle befindet. Ich habe versucht, dies zu tun:

$('.test').live('click', function() { 
    oTable.fnDeleteRow(0); 
}); 

Um zu überprüfen, ob es die erste Zeile aus der Tabelle löschen kann, aber es funktioniert nicht und auch nicht einen Fehler erzeugen. Wo gehe ich falsch?

+0

http://stackoverflow.com/a/8254752/617373 – Daniel

Antwort

7

fanden folgenden Kommentar hier ein: http://datatables.net/forums/discussion/6208/hyperlink-event-to-delete-row/p1:

„Da Sie serverseitige Verarbeitung verwenden und fnDeleteRow weiß nichts über Ihre serverseitigen Umgebung, müssen Sie dafür einen Ajax-Aufruf an den Server machen Führen Sie das Löschen durch und rufen Sie dann fnDraw in der Tabelle auf, damit es mit dem neuen Datensatz aktualisiert wird. "

+0

habe den Hinweis bekommen. Danke –

+2

@IbrahimAzharArmar: Gern geschehen. Es ist nicht sofort offensichtlich, und ich sehe es immer noch nicht in der Dokumentation von 'fnDeleteRow' erwähnt. – Stefan

Verwandte Themen