ag-grid 相关问题

ag-Grid是一个客户端JavaScript网格,旨在与框架无关。它不依赖于任何框架,允许它与任何框架轻松集成。使用此标记可以解决与ag-Grid配置及其与其他工具集成问题相关的问题。

如何等待 vue-test-utils 中已安装组件的发出事件

假设我有一个 vue 组件,它在准备好时发出一个事件(例如 AG Grid): 我怎么能等到这个事件发生...

回答 1 投票 0

带有迷你图的Ag网格树?

我正在尝试在 ag-grid 的树上使用迷你图。有没有办法做到这一点? aggFunc 被调用,但结果似乎没有被使用。我也尝试在树本身上设置值,但是......

回答 1 投票 0

AG-Grid:使用 ngx-translate(角度)翻译 headerName

我们正在使用 Angular 来可视化 AG 网格。我们希望将农业网格的标题翻译成用户的语言。 农业网格代码: 我们正在使用 Angular 来可视化 AG 网格。我们希望将农业网格的标题翻译成用户的语言。 Ag网格代码: <ag-grid-angular class="ag-theme-material" [rowData]="productionOrders"> <ag-grid-column [headerName]="'ORDERS.GRID.EntryCode' | translate" field="entry"></ag-grid-column> <ag-grid-column [headerName]="ORDERS.GRID.EntryDescription" field="entryDescription"></ag-grid-column> </ag-grid-angular> 我们可以用同样的方式翻译 html 页面本身的值: <span>{{ 'ORDERS.Status' | translate}}</span> 我注意到,当加载翻译时,ag grid 不会注意到翻译何时加载。然而,html 页面本身的值会被翻译。 额外信息:ngx-translate 的翻译管道是一个“不纯”管道,这意味着它的值可以改变(例如,当加载所有翻译时) 同样,当使用没有翻译的 headerName 时,它不会更新: Ag网格代码: <ag-grid-angular class="ag-theme-material" [rowData]="productionOrders"> <ag-grid-column [headerName]="bindedString" field="entry"></ag-grid-column> </ag-grid-angular> this.lazyString = 'test-1'; setTimeout(() => { this.lazyString = 'test-2'; }, 3000); 标头名称永远不会更新为“test-2” 演示.component.html <ag-grid-angular style="width: 100%; height: 100%;" class="ag-theme-material" [rowData]="rowData" [columnDefs]="columnDefs" (gridReady)="onGridReady($event)" [pagination]="true"> </ag-grid-angular> 演示.组件.ts import { Component } from '@angular/core'; import { ColDef, GridApi } from 'ag-grid-community'; import { TranslateService } from '@ngx-translate/core'; @Component({ selector: 'app-demo', templateUrl: './demo.component.html', styleUrls: ['./demo.component.scss'] }) export class DemoComponent { private gridApi: GridApi = null; public columnDefs: ColDef[] = [ { headerName: "Code", field: 'code', sortable: true, resizable: true, headerValueGetter: this.localizeHeader.bind(this) }, { headerName: 'Version', field: 'version', sortable: true, resizable: true, headerValueGetter: this.localizeHeader.bind(this) }, { headerName: 'IsEnabled', field: 'isEnabled', sortable: true, resizable: true, headerValueGetter: this.localizeHeader.bind(this) } ]; public rowData: any[] = []; constructor(private translateService: TranslateService) { this.translateService.onLangChange.subscribe(() => { this.gridApi.refreshHeader(); }) } public onGridReady(parameters: any): void { this.gridApi = parameters.api; } public localizeHeader(parameters: ICellRendererParams): string { let headerIdentifier = parameters.colDef.field; return this.translateService.instant(headerIdentifier); } } 标头值获取器 使用 headerValueGetter 而不是 colDef.headerName 来允许动态标头名称。 private translator: TranslateService; ... colDef.headerValueGetter : this.localizeHeader.bind(this) .... localizeHeader(params){ let headerIdentifier = params.colDef.field; // params.column.getColId(); this.translator.get(headerIdentifier).map((res: string) => { return res; }); } 文档样本 { headerName: "Country", field: "country", width: 120, enableRowGroup: true, enablePivot: true, headerValueGetter: countryHeaderValueGetter }, function countryHeaderValueGetter(params) { switch (params.location) { case 'csv': return 'CSV Country'; case 'clipboard': return 'CLIP Country'; case 'toolPanel': return 'TP Country'; case 'columnDrop': return 'CD Country'; case 'header': return 'H Country'; default: return 'Should never happen!'; } } 如果您想使用 TurboYang 的解决方案进行异步翻译加载,只需添加以下内容: private destroy = new Subject<void>(); constructor(private toastService: ToastService, private translate: TranslateService) { translate.onLangChange.pipe(takeUntil(this.destroy)).subscribe(() => { this.gridApi.refreshHeader(); }); translate.onDefaultLangChange.pipe(takeUntil(this.destroy)).subscribe(() => { this.gridApi.refreshHeader(); }); } ngOnDestroy(): void { this.destroy.next(); this.destroy.complete(); } 服务中的功能 getTr(key: string) { return this.translate.instant(key); } ColumnDef 中的用法 { field: 'name', headerName: this.trService.getTr('NAME') }, 另一个简单的解决方案,从上面的参考文献中对我有用 columDef = [ { field: 'firstname', headerValueGetter: () => translate.instant('fname') // fname is the translation key }, { field: 'lastname', headerValueGetter: () => translate.instant('lname') }, ] ngOnInit() { this.translate.onLangChange.pipe(takeUntil(this.destroy)).subscribe(() => { this.gridApi.refreshHeader(); }); }

回答 5 投票 0

如何禁用ag-grid中的整个列

我想根据该列包含 onCellClicked 事件的特定条件禁用整个列,但我不希望它触发

回答 2 投票 0

禁用 Ag-grid 中的复选框选择

是否可以通过保留使用某些约束呈现的某些选定行来禁用复选框选择? 我不想允许用户取消选择渲染时选择的行。 我...

回答 9 投票 0

无限滚动的AG网格SSRM树数据

我有一个用例,我需要使用 treeData 和 rowModelType: "serverSide" 与 AG Grid React 渲染数百万行。 AG Grid是否支持服务器端treeData无限滚动...

回答 1 投票 0

ag 网格快速水平滚动导致某些列不显示

我们的网站上有一个角度 ag-grid 表格实现,默认固定在左侧 8 列。问题是当我们在非固定列上使用水平滚动快速滚动时,

回答 4 投票 0

如何在React功能组件的AgGrid Cell中添加按钮和下拉菜单

我有数据列表。我在 React 中使用 AgGrid 来显示此数据列表。对于每一行,我需要显示一个具有删除按钮的列和一个具有下拉菜单和重置按钮的第二列。 ...

回答 2 投票 0

当ag-grid没有行时如何处理粘贴操作?

在我们的 AG 网格实施中。有时我们有一个空网格,根本没有行。 那么,我们如何触发Ctrl+V并触发粘贴操作呢? 根据这里的文档,它说......

回答 1 投票 0

当第一个日期过滤器被清除时,反应ag-grid日期过滤器清除第二个日期过滤器

我已经使用 React js 通过 AG-Grid 实现了服务器端分页。 现在我在网格上的日期过滤器上遇到问题。我的过滤器上有“AND”“OR”条件...

回答 1 投票 0

即使在单个单元格上,React ag网格也会触发双击

以下内容允许我默认聚焦第一个可用单元格: 使用效果(()=> { 如果 ( 编辑模式 && gridRef.current?.api && ppsColumns &&a...

回答 2 投票 0

在 React with Ag Grid 中,我想将网格导出为 PDF。对于简单的数据,我可以使用 pdfmake 来完成,但对于树数据,它不起作用

我在rowData中有树数据(层次结构),在columnDefs中有子项。如何将这种复杂的报告导出为pdf?

回答 1 投票 0

使用codemod直接升级到StencilJS中的Ag-Grid 31

我在StencilJs中使用了第三方依赖Ag-Grid。我有一个旧版本。我想直接使用文档中提到的codemod升级到v31:https://www.ag-grid.com/javascr...

回答 1 投票 0

如何在ag-grid中创建布尔过滤器组件?

很遗憾ag-grid没有提供简单的布尔过滤器组件。它们有数字过滤器、文本过滤器、日期过滤器组件,只是没有布尔过滤器:(我们正在使用视口行模式...

回答 3 投票 0

如何在 AG-Grid 文本字段中创建占位符

我有一个可编辑的农业网格。如何将占位符添加到空单元格(编辑单元格时它们应该消失)? cellEditor: 'agTextCellEditor', cellEditorParams: (参数) => {

回答 1 投票 0

如何避免Ag网格出现React内存泄漏?

我在此 plinker 中有代码:https://plnkr.co/edit/MiRhkcG9sZTZO74P?preview 单击切换按钮应该会破坏网格并卸载组件(我认为应该释放 m...

回答 2 投票 0

ag grid 获取当前列标题

我通过纯js使用ag-grid社区。我想通过 onFirstDataRendered 事件获取当前正在加载的每一列的列标题文本。 然后我循环遍历所有列...

回答 1 投票 0

更改ag-grid/react中的单元格格式

我在单元格中显示数字,对于 colDef,我只想将它们显示为 2dp。所以在我的 colDefs 中我有这个 - valueFormatter: (params: ValueFormatterParams) => params.value?.price?.

回答 1 投票 0

Ag-grid:如何调整列大小以适应内容?

Ag-grid 有一个 sizeColumnsToFit 函数,可以调整列的大小以适合屏幕,但我想要的是调整列的大小以适合数据。换句话说,我希望每列的宽度是最小的

回答 2 投票 0

ag-grid-angular 中的下拉过滤器

我在我的项目中使用“ag-grid-angular”。 这就是过滤器当前的样子。我想要一个下拉菜单而不是搜索框。此外,我想将独特的元素放在...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.