代码之家  ›  专栏  ›  技术社区  ›  Phil

初始化后ag网格角度行顺序错误

  •  0
  • Phil  · 技术社区  · 8 年前

    初始化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 回复  |  直到 8 年前
        1
  •  3
  •   Mike    8 年前

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