簡體   English   中英

如何在ui-grid中刷新行?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM