Tengo una aplicación web donde puedes arrastrar y soltar imágenes en cuadros. Si lo coloca en uno, agregará la información de la imagen a la tabla de datos, si lo coloca en la izquierda, eliminará los datos de la tabla de datos. Me preguntaba si había alguna manera de eliminar la fila según la identificación.
$('#pictures') .dataTable({ "columnDefs": [{ "orderable": false, "targets": 1 }, { "orderable": false, "targets": 3 } ] }); var t = $('#pictures') .DataTable(); $("#left") .droppable({ accept: ".draggable", drop: function (event, ui) { console.log("drop"); $(this) .removeClass("border") .removeClass("over"); var dropped = ui.draggable; var droppedOn = $(this); $(dropped) .detach() .css({ top: 0, left: 0 }) .appendTo(droppedOn); var $id = $(this) .children() .last() .attr('id'); var rowId = pictures[id].id; t.row(pictures[$id].id) .remove() .draw(false); } });Obviamente, esto no es todo; sin embargo, creo que esto es suficiente para identificar cualquier problema.
Puede usar la API de DataTable para eliminar la fila correspondiente:
t.row("your selector here").remove().draw(); en row() podría usar varios tipos de selectores . Si guardó la identificación de la fila en una variable, simplemente use
t.row("#"+rowId).remove().draw(); Tenga en cuenta que debe llamar a draw() después de una eliminación, ya que las tablas de datos no se vuelven a dibujar después de una eliminación debido a razones de rendimiento.
$('#pictures').DataTable().row("#YourRowId").remove().draw();Si el elemento que desea eliminar es la ventana principal;
window.parent.$('#pictures').DataTable().row("#YourRowId").remove().draw();Si desea eliminar todas las filas;
$('#pictures').DataTable().row().remove().draw();Debes prestar atención a la versión JS.
var table1= $('#TableID').DataTable({ "createdRow": function (row, data, dataIndex) { var rowID = "row_" + data[0]; $(row).attr('id', rowID); }}); var rowID = "#row_" + any format that follows as per your row ID; table1.row(rowID).remove().draw();Esto funcionará para todos. Aquí, en la devolución de llamada "createdRow" del constructor de DataTable, puede definir todo el estilo basado en datos que desee en su DataTable. He definido una ID de fila para asignar a cada fila en función del valor de la primera columna.