2017-02-10 5 views
0

데이터 가져 오기에서 일부 DDL 필터로 UI 그리드를 만들려고합니다. async : false로 시도하면 모든 것이 완벽하게 작동합니다. 이것은 전화입니다 :비동기 호출을 사용하여 ui-grid 만들기

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; 
}); 

colDef와 같은 gridOption 오류없이 모든 비동기를 얻는 방법은 정의되지 않았습니다? 분명히 setTimeout없이! 감사합니다

답변

0

$ scope.gridOptions (및 옵션 정의)를 ajax 호출의 성공 경로로 옮겨야합니다.

+0

'TypeError : 'data'of undefined' 속성을 읽을 수 없습니다. 명백히 호출은 항상 async입니다 ... –

+0

문제는 여러 asyn 호출이 있다는 것입니다. 당신은 각자를 그 부모 (내가 제안했듯이)에 넣거나 약속을 사용할 수있다. http://stackoverflow.com/questions/15299850/angularjs-wait-for-multiple-resource-queries-to-complete를 참조하십시오. – Gerfried

관련 문제