2010-07-08 19 views
12

Quando carico la pagina al primo posto, nulla nella tabella e nel datatable non viene inizializzato, dopo che sono state aggiunte alcune righe di interazioni e quando tutte le righe vengono aggiunte (con chiamate ajax) I init the datatable in questo modo:Reinizializzazione di datatables (jQuery)

oTable = $('#table).dataTable({ 
      "bJQueryUI": true, 
      "bSortClasses": false, 
      "sDom":'T<"clear">', 
      "sPaginationType": "full_numbers", 
      "sDom": 'T<"clear"><"fg-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix"lfr>t<"fg-toolbar ui-widget-header ui-corner-bl ui-corner-br ui-helper-clearfix"ip>' 
     }); 

il problema è che voglio essere in grado di cancellare quel tavolo e continuare ad aggiungere roba in html e poi REINIT la tabella da che il codice sorgente senza l'utilizzo di fnAddData.

Qualche idea?

Grazie!

risposta

3

È possibile utilizzare fnUpdate e fnClearTable? http://datatables.net/api

+0

Non ho capito bene come funziona fnUpdate. Tuttavia, per evitare che venga cancellato, desidero essere in grado di riavviarlo senza ricevere il messaggio di avviso. – Pierluc

1

utilizzare la variabile di inizializzazione bDestory. Non nDestroy.

23

La chiamata $('#table').dataTable().fnDestroy(); cancella la tabella del codice dataTable e consente di manipolare la tabella, quindi chiamare di nuovo dataTable.

+0

Soluzione semplice e migliore, grazie mille – amal50

3

Quando si inizializza il set di dati bDestroy: true e prima di aggiungere la tabella di aggiornamento via $('#myTable').dataTable().fnClearTable();. Questo è tutto!!

+0

Questo ha funzionato. fnDestroy() cancellerà i pulsanti di impaginazione. fnClearTable(), se bDestroy non è specificato, non ripristinerà correttamente i pulsanti di paginazione. – jdp

0

per cancellare la tabella, oTable.api(). Clear(). Draw();

per ricaricare dati da ajax, oTable.api(). Ajax.reload();

Non credo che reInit sia un buon modo

Problemi correlati