I have this code that creates an empty Slick Grid with the possibility to add new rows
var grid;
var data = [];
var columns = [
{ id: "quantidade", name: "Quantidade", field: "Quantidade", width: 30, editor: Slick.Editors.Text },
{ id: "dimensao", name: "Dimensão", field: "Dimensao", width: 30, editor: Slick.Editors.Text },
{ id: "peso", name: "Peso", field: "Peso", width: 30, editor: Slick.Editors.Text },
{ id: "acao", name: "Ação", field: "Acao", width: 30, formatter: botaoRemoverFormatter, cssClass: "slick-align-center" },
];
var options = {
editable: true,
enableAddRow: true,
enableCellNavigation: true,
enableColumnReorder: false,
asyncEditorLoading: false,
};
grid = new Slick.Grid("#GridDetalhesCargaNovaRT", data, columns, options);
grid.autosizeColumns();
grid.onAddNewRow.subscribe(function (e, args) {
var item = args.item;
var column = args.column;
grid.invalidateRow(data.length);
data.push(item);
grid.updateRowCount();
grid.autosizeColumns();
grid.render();
});
grid.onClick.subscribe(function (e, args) {
if (args.cell == "3") {
var linhaAtual = args.row;
if (confirm("Deseja excluir esta linha?")) {
var gridData = grid.getData();
gridData.splice(linhaAtual, 1);
while (linhaAtual < gridData.length) {
grid.invalidateRow(linhaAtual);
linhaAtual++;
}
grid.updateRowCount();
grid.autosizeColumns()
grid.render();
}
}
});