Ho installato il seguente con ng-grid:Come posso fare clic su un pulsante in una tabella di griglia ng eliminare una riga dal modello?
var gridData = {};
$scope.gridOptions = {
data: 'gridData',
enableCellEdit: true,
multiSelect: false,
columnDefs: [
{ field: 'testId', displayName: 'Test Id' },
{ field: 'name', displayName: 'Name', enableCellEdit: true, editableCellTemplate: cellEditableTemplate },
{ field: 'description', displayName: 'Description', enableCellEdit: true, editableCellTemplate: cellEditableTemplate },
{ field: '', cellTemplate: '<button ng-click="delete(row)">Delete</button>' }
]
};
e:
$scope.delete = function (row) {
row.entity.$deleteData({ testId: row.entity.testId });
}
Questo invia un messaggio HTTP al server che cancella la riga. Tuttavia la riga rimane ancora nella griglia. Come posso fare in modo che il clic del pulsante Elimina su una riga cancelli anche una riga dall'oggetto gridData?
Puoi condividere un esempio di plunker? Sembra che tu abbia bisogno di gestire la risposta dal server (è stata cancellata ok o meno) e nel caso fosse stata cancellata, cancella da gridData. (btw, sembra che la variabile gridData definita prima di definire gridOptions non sia mai usata) –
Non sono sicuro di come usare plunker. Suppongo che tu abbia ragione nel senso che ho bisogno di verificare se il $ deleteData ha funzionato. Lo esaminerò e vedrò se c'è una promessa restituita. Dopo aver dichiarato gridOptions, ho il codice che popola gridData. –