Angular ag grid滚动到新创建的项目并高亮显示该行
我在angular中使用ag网格进行CRUD操作应用。当我创建一个新项目时,它将在网格中更新,但一旦更新,项目滚动条应滚动到新项目位置,并且新项目行应高亮显示 专家建议 HTMLAngular ag grid滚动到新创建的项目并高亮显示该行,angular,ag-grid,Angular,Ag Grid,我在angular中使用ag网格进行CRUD操作应用。当我创建一个新项目时,它将在网格中更新,但一旦更新,项目滚动条应滚动到新项目位置,并且新项目行应高亮显示 专家建议 HTML <ag-grid-angular style="width: 100%; height: 100%;" class="ag-theme-balham" [defaultColDef]="defaultColDef" [columnDefs]="columnDefs" [rowSelection]="r
<ag-grid-angular style="width: 100%; height: 100%;" class="ag-theme-balham" [defaultColDef]="defaultColDef"
[columnDefs]="columnDefs" [rowSelection]="rowSelection" [rowData]="rowData" [suppressMenuHide]="true" [rowDragManaged]="true"
[frameworkComponents]="frameworkComponents" (selectionChanged)="onSelectionChanged()"
(rowClicked)='onRowClicked($event)' (gridReady)="onGridReady($event)" [gridOptions]="gridOptions">
</ag-grid-angular>
您可以使用ag网格中提供的RowDataTransaction和ensureIndexVisible来实现这一点
onAddNewRow(data: any) {
if (this.gridOptions && this.gridOptions.api) {
const addedRow = this.gridOptions.api.updateRowData({
add: [data]
});
addedRow.add[0].setSelected(true);
this.gridOptions.api.ensureIndexVisible(addedRow.add[0].rowIndex, 'bottom');
}
}
这里updateRowDate将返回一个结构为的对象
interface RowDataTransaction {
// Row Nodes added
add: RowNode[];
// Row Nodes removed
remove: RowNode[];
// Row Nodes updated
update: RowNode[];
}
由于要添加单行,因此可以从0索引处的元素访问它。通过将新添加行的索引传递给ensureIndexVisible方法,您可以向下滚动到该特定行。是否可以显示您的try/Tryd代码?已发布的代码。寻找,如果它是任何默认选项在ag网格或我们需要创建自定义组件?谢谢。它工作得很好,但它总是添加到网格的底部,而并没有排序顺序。我想按排序添加。可能吗?
interface RowDataTransaction {
// Row Nodes added
add: RowNode[];
// Row Nodes removed
remove: RowNode[];
// Row Nodes updated
update: RowNode[];
}