2016-04-04 8 views
0

レポートのデータを取り込むために使用する角度のあるUIグリッドがあります。今では20件近くのレポートがあり、1つのUIグリッドを使用してすべてのレポートのデータを入力したいと考えています。 私は基本的に、オブジェクトのプロパティをループして実行時にcolumnDefsプロパティを設定しようとしています。UIグリッドダイナミックのColumnsDefsを作成する

CrudService.GetData($scope.studyId, reportsTest).then(function (data) { 
    $scope.getreportsdata = data; 
    $scope.columns = []; 
    for (var key in $scope.getreportsdata[0]) { 
     if ($scope.getreportsdata[0].hasOwnProperty(key)) { 
      if (!utilityExtensionService.isUndefinedOrNull($scope.getreportsdata[0][key]) && $scope.getreportsdata[0][key] != "") 
       $scope.columns.push({ field: key, enableSorting: false, headerCellClass: 'ui-grid-header' }); 
     } 
    } 
}); 

そして、私は私のUIのグリッドを設定しようとしていますどのようにこの:

$scope.gridOptions = { 
      enableHorizontalScrollbar: 0, 
      enableVerticalScrollbar: 0, 
      enableSorting: true, 
      columnDefs: 'columns', 
      data: 'getreportsdata'} 

を、私はこの方法を使用してバインドすることができないのですがここで は、私がしようとしていますものです。これに代わる解決策を提案してください。

答えて

1

グリッドの設定方法が間違っています。

$scope.gridOptions = { 
    enableHorizontalScrollbar: 0, 
    enableVerticalScrollbar: 0, 
    enableSorting: true, 
    columnDefs: $scope.columns, 
    data: $scope.getreportsdata 
} 

次回からは、問題をplunkrリンクに複製することをお勧めします。

関連する問題