0
我想刪除記錄,並在同一時間將新記錄:NG網刪除,並在同一時間插入行不通
scope.$apply(function() {
scope.myData.splice(index, 1, result);
});
這是行不通的。任何幫助?謝謝!
我想刪除記錄,並在同一時間將新記錄:NG網刪除,並在同一時間插入行不通
scope.$apply(function() {
scope.myData.splice(index, 1, result);
});
這是行不通的。任何幫助?謝謝!
這是HTTP PUT RESTful ajax訪問和更新ng-grid的完整解決方案。
$.ajax({
type: "PUT",
url: "/api/WebAPIService",
data: $('#editForm').serialize(),
success: function (result) {
if (result) {
var scope = angular.element($("#ngBody")).scope();
var row = scope.gridOptions.selectedItems[0];
var index = scope.myData.indexOf(row);
scope.gridOptions.selectItem(index, false);
scope.$apply(function() {
scope.myData.splice(index, 1); //delete a row from array
});
scope.$apply(function() {
scope.myData.splice(index, 0, result); //add a row to the same index
});
setTimeout(selectARow, 0); //select the the newly added row
function selectARow() {
scope.$apply(function() {
scope.gridOptions.selectItem(index, true);
});
};
}
}
});
這個想法是我們必須分開「刪除」和「添加」。將這兩個步驟放在一個語句(如「scope.myData.splice(index,1,result);」)中看起來更合理。但正如我測試的那樣,它簡單不起作用。另外,我們必須在setTimeout中包裝「select item」,以確保在與「delete and add」相關的所有事情完成後運行。