如何加载默认情况下展开的UI网格树视图

时间:2016-03-03 21:35:47

标签: angular-ui-grid

是否有选项可以打开默认展开的树视图。我不是指首先加载它然后调用expandAllRows函数。

这个plunker加载崩溃:http://plnkr.co/edit/7rFzQysYO9YbRSSv5Cwz?p=preview

            var app = angular.module('app', ['ngAnimate', 'ngTouch', 'ui.grid', 'ui.grid.treeView' ]);

            app.controller('MainCtrl', ['$scope', '$http', '$interval', 'uiGridTreeViewConstants', function ($scope, $http, $interval, uiGridTreeViewConstants ) {
              $scope.gridOptions = {
                enableSorting: true,
                enableFiltering: true,
                showTreeExpandNoChildren: true,
                columnDefs: [
                  { name: 'name', width: '30%' },
                  { name: 'gender', width: '20%' },
                  { name: 'age', width: '20%' },
                  { name: 'company', width: '25%' },
                  { name: 'state', width: '35%' },
                  { name: 'balance', width: '25%', cellFilter: 'currency' }
                ],
                onRegisterApi: function( gridApi ) {
                  $scope.gridApi = gridApi;
                  $scope.gridApi.treeBase.on.rowExpanded($scope, function(row) {
                    if( row.entity.$$hashKey === $scope.gridOptions.data[50].$$hashKey && !$scope.nodeLoaded ) {
                      $interval(function() {
                        $scope.gridOptions.data.splice(51,0,
                          {name: 'Dynamic 1', gender: 'female', age: 53, company: 'Griddable grids', balance: 38000, $$treeLevel: 1},
                          {name: 'Dynamic 2', gender: 'male', age: 18, company: 'Griddable grids', balance: 29000, $$treeLevel: 1}
                        );
                        $scope.nodeLoaded = true;
                      }, 2000, 1);
                    }
                  });
                }
              };

             $http.get('https://cdn.rawgit.com/angular-ui/ui-grid.info/gh-pages/data/500_complex.json')
             .success(function(data) {
               for ( var i = 0; i < data.length; i++ ){
                 data[i].state = data[i].address.state;
                 data[i].balance = Number( data[i].balance.slice(1).replace(/,/,'') );
               }
               data[0].$$treeLevel = 0;
               data[1].$$treeLevel = 1;
               data[10].$$treeLevel = 1;
               data[11].$$treeLevel = 1;
               data[20].$$treeLevel = 0;
               data[25].$$treeLevel = 1;
               data[50].$$treeLevel = 0;
               data[51].$$treeLevel = 0;
               $scope.gridOptions.data = data;
             });

              $scope.expandAll = function(){
                $scope.gridApi.treeBase.expandAllRows();
              };

              $scope.toggleRow = function( rowNum ){
                $scope.gridApi.treeBase.toggleRowTreeState($scope.gridApi.grid.renderContainers.body.visibleRowCache[rowNum]);
              };

              $scope.toggleExpandNoChildren = function(){
                $scope.gridOptions.showTreeExpandNoChildren = !$scope.gridOptions.showTreeExpandNoChildren;
                $scope.gridApi.grid.refresh();
              };
            }]);

是否有一个简单的设置可以更改以加载它?

0 个答案:

没有答案