2017-02-10 13 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'が未定義です。明らかに、呼び出しは常に非同期です... –

+0

問題は、複数のasyn呼び出しがあることです。それぞれを親に入れるか(私が示唆したように)、または約束を使用することができます。 http://stackoverflow.com/questions/15299850/angularjs-wait-for-multiple-resource-queries-to-completeを参照してください。 – Gerfried

関連する問題