[英]How to refresh a row in ui-grid?
我正在嘗試僅刷新在ui網格中已編輯的行,而不是整個表。
因此,我的業務案例是我在網格中編輯一行,觸發一個REST調用,並且我想只更新網格中的該特定行。
休息時呼叫成功:
$http.put(representation.getLink('reports').href, {
changes: manualModifications,
comment: comment
}).success(function(updatedEntities) {
for (var i = 0; i < updatedEntities.length; i++) {
angular.forEach(controller.gridOptions.data, function(entity) {
if (updatedEntities[i].factId === entity.factId) {
entity.value = updatedEntities[i].value;
entity.dataOrigin = updatedEntities[i].dataOrigin;
entity.isDirty = false;
}
});
}
controller.gridApi.core.refresh();
});
使用以下命令也可以正常工作:
controller.gridApi.core.refreshRows();
此操作僅更新網格內的行,但仍刷新所有行。
我查看了Grid API,但找不到能做到這一點的東西。
我在想,因為我在forEach周期內引用了一個網格行,所以應該可以只更新該行。
根據您執行REST調用的方式(直接使用JQuery,XHR等),您可能需要調用$scope.$digest()
使其在摘要循環中恢復角度。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.