Estoy tratando de agregar una fila dinámica en https://DataTables.net . Entiendo cuando configuro processing: true
, serverSide: true
y ajax
, no puedo agregar una nueva fila en la tabla.
mi código Datatable
es:
var table = $('#example').DataTable({ dom: 'Bftip', keys: true, processing: true, serverSide: true, pageLength: 5, columns: subColumns, ajax: { url: ..., type: get, }, buttons: [ { text: '<i class="fa fa-plus" aria-hidden="true"></i>', action: function () { table.row.add({ "id": "", "title": "t100", "order": "100", "mimeType": "101", "thumpnailMimeType": "102", "height": "103", "width": "104" }); //table.columns.adjust(); //table.draw(); }, }, ] });
table.columns.adjust();
y table.draw();
, Pero no funcionan. También veo cómo agregar filas a DataTable . pero creo que eso está funcionando para tablas fuera de línea. Puedo ver agregada la fila con table.data()
, pero no puedo ver eso en la tabla. Gracias
Creo que no podemos hacerlo porque no tiene ninguna solución, pero puedo destruir ( table.destroy();
) la tabla y crear una nueva DataTable
sin ajax
, processing
y atributos serverSide
. Luego llame a table.draw()
después de agregar una nueva fila.
Por ejemplo:
table.destroy(); table = $("#example").DataTable({ // same options without ajax, processing and serverSide }); // TODO add new row table.draw();
Antes de editar su pregunta... Estaba usando subTable.row.add
en lugar de table.row.add
.
De lo contrario, su código parece correcto (no puede ver cómo se llaman sus columnas reales porque está usando una variable en la propiedad de las columns
) y esto debería funcionar.
Aquí hay un ejemplo de trabajo de Fiddle . Puedes usar esto:
var table; table = $('#example').DataTable({ dom: 'Bftip', keys: true, //processing: true, //serverSide: true, pageLength: 5, columns: subColumns, ajax: { url: ..., // type: get, // ^^ No need for this, method: 'get' is default }, buttons: [ { text: '<i class="fa fa-plus" aria-hidden="true"></i>', action: function () { // You have to use the "table" variable here below table.row.add({ "id": "", "title": "t100", "order": "100", "mimeType": "101", "thumpnailMimeType": "102", "height": "103", "width": "104" }); table.draw(); }, }, ] });