我已经通过单击我想要将enableRtl属性设置为true的按钮创建了一个ag-grid组件。
总之,我添加了一个组件,例如-
<ag-grid-angular #agGrid [floatingFilter]="true"
[enableRtl]="isArabic" (gridReady)="onGridReady($event)"
[(enableRtl)]="enableRtl"
[rowSelection]="rowSelection"
[defaultColDef]="columnConfig" [rowData]="data"
[columnDefs]="columns"
[gridOptions]="gridOptions"
></ag-grid-angular>
现在,我想基于click事件更改enableRtl。
在这里,enableRtl是组件的公共变量。
但是,它不反映RTL。
我已经在Stackblitz中添加了方案-
https://stackblitz.com/edit/angular-ag-grid-col-span-and-col-group-tsso85
答案 0 :(得分:0)
这需要重新加载gridOptions
,atm ag-grid
无法动态重新加载键设置,更多详细信息here
答案 1 :(得分:0)
有一种方法可以实现这一目标。
在ngIf
元素级别为ag-grid-angular
设置一个标志,并有条件地在事件处理程序中切换它。
<ag-grid-angular *ngIf="showGrid"
class="ag-theme-material"
[rowData]="rowData"
[columnDefs]="columnDefs | async"
[gridOptions]="gridOptions"
[enableRtl]="lang"
>
</ag-grid-angular>
这样,将使用更新的标志重新初始化网格。
请记住,在重新初始化网格时,这里涉及性能成本。如果您认为影响微不足道,则取决于您,这是为您提供的解决方案。
看看更新后的Stackblitz: ag-grid : RTL <-> LTR