comment je peux supprimer une ligne d'une fonction javascript à partir d'un bouton par exemple dans slickgrid comment je peux supprimer une ligne d'une fonction javascript
Répondre
Supposons que vous utilisez jQuery
var grid;
$(function() {
// init options, load data
...
var columns = [];
columns[0] = {
id: 'id',
name: '#',
field: 'id', // suppose you have an id column in your data model
formatter: function (r, c, id, def, datactx) {
return '<a href="#" onclick="RemoveClick(' + id + ',' + r + ')">X</a>'; }
}
// init other columns
...
grid = new Slick.Grid($('#gridDiv'), data, columns, options);
}
function RemoveClick(databaseId, gridRow) {
// remove from serverside using databaseId
...
// if removed from serverside, remove from grid using
grid.removeRow(gridRow);
}
salut Je suis utilisé ce script pour supprimer la ligne de SlickGrid
fonction deletefila (numrow) {
alert("delete row"+numrow);
data.splice(numrow,1);
grid.removeAllRows();
grid.render();
//grid.removeRow(5);
//grid.updateRowCount();
//and then invalidate and re-render the grid by calling grid.removeAllRows() followed by grid.render().
}
Si vous utilisez un DataView, utilisez ce qui suit:
DataView.deleteItem(RowID);//RowID is the actual ID of the row and not the row number
Grid.invalidate();
Grid.render();
Si vous ne connaissez que le numéro de ligne, vous pouvez obtenir theRowID en utilisant:
var item = DataView.getItem(RowNum);//RowNum is the number of the row
var RowID = item.id
C'est ainsi que je le fais (n'utilisant aucun fournisseur de données):
//assume that "grid" is your SlickGrid object and "row" is the row to be removed
var data = grid.getData();
data.splice(row, 1);
grid.setData(data);
grid.render();
Je l'utilise dans un projet en direct et il fonctionne bien. Bien sûr, si vous souhaitez supprimer plusieurs lignes, quelques modifications doivent être apportées, ou si vous utilisez un fournisseur de données, vous voudrez peut-être supprimer uniquement la ligne du fournisseur de données, puis SlickGrid rafraîchira simplement les lignes.
Hope it helps :)
oui bien sûr, je l'utilise de cette façon
var selrow = grid.getSelectedRows();
data.splice(selrow, 1);
grid.invalidateAllRows();
grid.render();
Salutations
"Uncaught TypeError: Obj ect #
var rowsToDelete = grid.getSelectedRows().sort().reverse();
for (var i = 0; i < rowsToDelete.length; i++) {
data.splice(rowsToDelete[i], 1);
}
grid.invalidate();
grid.setSelectedRows([]);
function deleteRows() {
var selectedIndexes = grid.getSelectedRows().sort().reverse();
var result = confirm("Are you sure you want to delete " + grid.getSelectedRows().length + " row(s)?");
if (result) {
$.each(selectedIndexes, function (index, value) {
var item = dataView.getItem(value); //RowNum is the number of the row
if (item)
dataView.deleteItem(item.id); //RowID is the actual ID of the row and not the row number
});
grid.invalidate();
grid.render();
}
}
Uncaught TypeError: Object # n'a pas de méthode 'removeAllRows' –
Dryadwoods