AngularJS:UI-Grid根据父网格更改子网格

时间:2015-03-14 19:06:25

标签: angular-ui-grid

在我的情况下,如果一个列被移动或固定,同样的更改也应该反映在子网格中。我已经为此编写了一个函数,它根据父级更改了子网格中的属性,但是无法找到在固定时发生的任何事件。父网格上的列,以便我可以调用我的函数。当前我正在使用此事件

$ scope.gridApi.core.on.rowsRendered($范围,$ scope.pinSubGridColumns)

但是它被触发了太多次并且视图变得扭曲。如果我在父网格中固定列,那么子网格列在这些列之后开始,但我希望子网格列按父对齐,所以如果我在父网格中有id列然后subgrid id列应该在它下面,即使它是固定的。我可以实现这个吗?

这是关于plunker的演示:http://plnkr.co/edit/AKUFxTaJ2c3fLvl7AZin?p=preview

功能:

$scope.pinSubGridColumns=function()
{
  for(i=0;i<$scope.gridApi.grid.columns.length;i++)
  {
    for(j=0;j<$scope.subGridColumnDefs.length;j++)
    {
      if($scope.gridApi.grid.columns[i].name===$scope.subGridColumnDefs[j].name)
  {
      if($scope.gridApi.grid.columns[i].renderContainer==="left")
      {

       $scope.subGridColumnDefs[j].pinnedLeft=true;
       $scope.subGridColumnDefs[j].pinnedRight=false;
      }
      else if($scope.gridApi.grid.columns[i].renderContainer==="right")
      {
        $scope.subGridColumnDefs[j].pinnedLeft=false;
        $scope.subGridColumnDefs[j].pinnedRight=true;
     }
     else
     {
        $scope.subGridColumnDefs[j].pinnedLeft=false;
        $scope.subGridColumnDefs[j].pinnedRight=false;
     }

   }
  }
 }
 if( $scope.subGridApi!==undefined)
 {
    $scope.subGridApi.core.notifyDataChange(uiGridConstants.dataChange.COLUMN);
 }

}

0 个答案:

没有答案