初始化后ag-grid angular错误的行顺序

时间:2017-06-30 07:49:28

标签: angular ag-grid

我在ag-grid中遇到奇怪的角度行为,不知道我做错了什么或者是错误。

初始化aggrid后
this.gridOptions = {
  enableSorting: true,
  rowHeight: 50,
  suppressDragLeaveHidesColumns: true,
  enableColResize: true,
  domLayout: 'autoHeight',
  rowSelection: 'single',
};

  <ag-grid-angular
    #agGrid
    [rowData]="articleArray"
    [gridOptions]="gridOptions"
    (cellClicked)="showDetails($event)"
    (gridReady)="onGridReady()"
    (modelUpdated)="onModelUpdated()"
    (gridSizeChanged)="sizeToFit()"
  ></ag-grid-angular>

通过

获取网格中行的结果顺序
  updateArticleOrder() {
    const result: string[] = [];
    this.gridOptions.api.forEachNodeAfterFilterAndSort(rowNode => result.push(rowNode.data.id));
    this.articleOrderChanged$.emit(result);
  }

我注意到订单与[rowData]="articleArray"中使用的原始输入不同。确切地说,11个项目已经转移到网格的底部,网格从原始索引11开始。为什么这样,我该如何避免它?排序并在updateArticleOrder()内调用onModelUpdated()后,我再次获得正确的顺序,当我点击第一行时显示索引0。

[编辑] 我注意到我只在初始化网格时遇到此问题。当我的articleArray在网格已经可见后更新时,this.gridOptions.api.forEachNodeAfterFilterAndSort会以正确的顺序为我提供新项目。

1 个答案:

答案 0 :(得分:3)

这可能是使用[domLayout] =“'autoHeight'”产生的错误。作为临时解决方案尝试将[rowBuffer]设置为某个高数字,例如[rowBuffer] =“10000”