2015-04-02 19 views
1

我正在關注線的教程行,我無法提供片段或屏幕截圖,因爲它的工作和我們的機器沒有互聯網對不起。比方說,我有4行和任意數量的列,這很適合我的用戶界面。一旦我添加ui網格可擴展,我有8行..角度ui網格可擴展表是非常錯誤或只是我?

前4行只有加號,下面是我的實際行,它的超級越野車和外觀搞砸了。如果我點擊加號,它將顯示子表,但在加號和實際行之間,它不可用。

我試過版本20和不穩定,但沒有區別。

我注意到當我刪除所有的CSS如bootstrap時,表格全部放在一起並且我得到4行,但是當我單擊展開按鈕時,表格又是不可靠的。如果我在子表中有3列和1行,則行中的前2列會填充,但第三列是空白的,並且會爲第三個值創建一個新行,但它位於第一列的下方

我可以使用一些建議/例子。沒有圖片和代碼片段。

<div class="grid" ui-grid="data" ui-grid-expandable></div> 

它基本上這個代碼http://ui-grid.info/docs/#/tutorial/306_expandable_grid ...你可以得到plnkr那裏,但由於某種原因plnkr沒有加載了我。我幾乎複製了教程。

+1

你可以在plnkr.co上模擬它,所以我們至少可以瞭解一下你在這裏做的設置。 – Chris 2015-04-02 01:06:31

+0

是的,我也試過一些基本的例子,是的它不穩定。我更喜歡使用像jQuery Datatables或sencha extjs Datagrid這樣的老朋友,它們都有很好的文檔和很多功能。 – 2015-05-12 12:33:52

回答

0

Angular UI-Grid可擴展表仍處於Alpha階段。這裏的主要問題是它們的網格不能自動計算高度,當高度達到最大點時,導致子網格覆蓋主網格元素。

我已經做了一個小的工作,可能會有所幫助。它使用TreeLevel計算來觸發主網格和子網格自動計算高度。

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

然後我們需要通過數據進行循環並設置高度,一旦我們以這種方式接收數據。

$timeout(function(){ 
     if (!!$scope.gridOptions.data) { 
      $('.ui-grid-render-container-left .ui-grid-viewport').height($('.ui-grid-render-container-left .ui-grid-viewport').height() + 17); 
      $('.ui-grid-render-container-body .ui-grid-viewport').addClass("no-horizontal-bar"); 
     } 
    }); 

我的Plnkr Example