在函数调用上刷新角度ui-grid

时间:2017-02-27 00:17:41

标签: angular-ui-grid ui-grid

我初始化控制器内的网格

$scope.gridOptions = {
  enableFiltering: true,
  enableColumnMenus: false,
  enableGridMenu: true,
  enableSelectAll: true,
  onRegisterApi: function(gridApi){
    $scope.gridApi = gridApi;
  }
};

然后通过以下方式为其分配数据:

$scope.Data = bids.bids;
$scope.gridOptions.data = 'Data';

这很有效。但是,我在控制器中的另一个函数内有一个get请求。关于此get请求的成功,我想刷新ui-grid数据。我在尝试:

var SendFilterData = function() {
    $http({method: 'GET', url: urlString, params: dataToSend})
        .then(function successCallback(response) {
            $scope.Data = response.data 
        });
};

SendFilterData()会在按钮单击时从视图中触发。我也试过$scope.gridOptions.data = response.data

奇怪的是,当用户进入时加载控制器时,看起来这个SendFilterData被初始化,而$scope.Data = response.data实际上就像它应该的那样工作。但是,它永远不会在按钮点击上工作。(我已经检查过该功能本身确实在按钮点击时触发了)

当调用此函数时,如何刷新网格中的数据?

1 个答案:

答案 0 :(得分:0)

试试这个:在OnRegisterApi()方法中,也添加这一行,(你必须添加依赖uiGridConstants)

gridApi.core.notifyDataChange(uiGridConstants.dataChange.ALL);

并将数据直接分配给SendFilterData()方法

中的gridOptions.data
$scope.gridOptions.data = response.data