角度アプリケーションには、ページの読み込み時にレンダリングされるグリッドがあります。行をクリックすると、同じグリッドを再描画/再レンダリングしたいと思います。私は行をクリックするとグリッドの行の中にdivを移入するリモートデータの別のGETリクエストが発生するため、これを実行しています。もちろん、応答からすべてのデータを表示すると、グリッドの行の高さを変更する必要があります。そのため、グリッドを再描画する必要があります。私のHTMLでイベント時にグリッドを書き直す
:
私は行をクリックしたときに発射されたメソッドredrawGridを()持っている私のコンポーネントで<ng-template #displayListData>
<ag-grid-angular #agGrid style="width: 100%" class="ag-material grid-Holdings"
[gridOptions]="gridOptions"
[rowData]="rowData"
[getRowHeight]="getRowHeight"
headerHeight="46"
(gridReady)="prepareGrid()"
[isFullWidthCell]="isFullWidthCell"
[doesDataFlower]="doesDataFlower"
[fullWidthCellRendererFramework]="getFullWidthCellRenderer()"
(rowClicked)="redrawGrid($event)">
</ag-grid-angular>
</ng-template>
。 )(
ここredrawGrid(params: any): void {
//TRIED BOTH DID NOT WORK
params.node.setRowHeight(this.newRowHight);
// this.gridOptions.api.resetRowHeights();
}
がgetRowHeightです:このメソッドに渡された新しい高さに応じて、私はsetRowHeight()とresetRowHeight()を呼び出してみましたが、それは...メソッドの火災を動作しませんでしたが、グリッドが再描画されていません同じコンポーネントでの方法:
getRowHeight(params) {
let isDetailRow = params.node.level === 1;
let rowHeight: number = this.newRowHeight;
// my new rowHeight or 48px
return isDetailRow ? rowHeight : 48;
}
私は解決策を複雑にかけていた場合、私は疑問に思う、AG-グリッドに新しいです...