我在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
会以正确的顺序为我提供新项目。
答案 0 :(得分:3)
这可能是使用[domLayout] =“'autoHeight'”产生的错误。作为临时解决方案尝试将[rowBuffer]设置为某个高数字,例如[rowBuffer] =“10000”