mam założyć następujące NG-Grid:Jak mogę kliknąć przycisk w tabeli ng-grid, aby usunąć wiersz z modelu?
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>' }
]
};
oraz:
$scope.delete = function (row) {
row.entity.$deleteData({ testId: row.entity.testId });
}
ten wysyła komunikat do serwera HTTP, który usuwa wiersz. Jednak rząd nadal pozostaje w sieci. Jak mogę to zrobić, aby kliknięcie przycisku usuwania w wierszu także usunęło wiersz z obiektu gridData?
Czy możesz podzielić się przykładem plunker? Wygląda na to, że musisz obsłużyć odpowiedź z serwera (kasowanie było ok lub nie) i na wypadek, gdyby została usunięta, usuń z gridData. (btw, wydaje się, że zmienna gridData zdefiniowana przed zdefiniowaniem gridOptions nigdy nie jest używana) –
Nie jestem pewien jak używać plunkera. Zgaduję, że masz rację, muszę sprawdzić, czy $ deleteData zadziałał. Zajrzę do tego i zobaczę, czy jest zwrócona obietnica. Po zadeklarowaniu gridOptions mam kod, który zapełnia gridData. –