使用异步调用创建ui-grid

时间:2017-02-10 15:15:58

标签: javascript jquery angularjs asynchronous

我正在尝试使用一些DDL过滤器(来自get data)创建一个ui-grid。如果我尝试使用async:false,那么一切都很完美。这是电话:

var Documents = [];

var solutionSetColumn = {};
var solutionSetFilters = [];

LoadData = function () {
        Documents = [];
        $.ajax({
            type: "POST", url: url,
                success: function (data) {
                Documents = data.d;
            },
            error: function (err) {
            }
        });
    }
}

$.ajax({
    type: "POST", url: url,
    success: function (data) {
        solutionSetColumn = { field: 'SolutionSet', displayName: 'Solution Set', width: 190, filter: { type: uiGridConstants.filter.SELECT, selectOptions: data.d } };
    },
    error: function (err) {
        solutionSetColumn = { field: 'SolutionSet', displayName: 'Solution Set', width: 190 }
    }
});       

LoadData();

gridOptions = {
    enableHorizontalScrollbar: 2, 
    enableVerticalScrollbar: 0,
    enableFiltering: true,
    data: Documents,
    columnDefs: [
        { field: 'Name', displayName: 'Nome File', width: 200 },
        solutionSetColumn
    ]
}

$scope.gridOptions = gridOptions;
});

如何在没有gridDeption错误的情况下获取所有异步,如colDef undefined?显然没有setTimeout!感谢

1 个答案:

答案 0 :(得分:0)

您需要将$ scope.gridOptions(和选项定义)移动到ajax调用的成功路径中。