我初始化控制器内的网格
$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
实际上就像它应该的那样工作。但是,它永远不会在按钮点击上工作。(我已经检查过该功能本身确实在按钮点击时触发了)
当调用此函数时,如何刷新网格中的数据?
答案 0 :(得分:0)
试试这个:在OnRegisterApi()方法中,也添加这一行,(你必须添加依赖uiGridConstants)
gridApi.core.notifyDataChange(uiGridConstants.dataChange.ALL);
并将数据直接分配给SendFilterData()方法
中的gridOptions.data$scope.gridOptions.data = response.data