首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >agGrid以编程方式配置

agGrid以编程方式配置
EN

Stack Overflow用户
提问于 2018-09-29 02:43:52
回答 3查看 687关注 0票数 0

我刚刚开始在我的应用程序中实现ag-grid。

我想以编程方式配置它,我想将所有agGrid配置相关代码放在Helper.ts中的一个单独的函数中。

我想在我所有的应用程序中使用这个函数来配置agGrid,这样我就可以从一个地方管理agGrid。

我的代码如下所示,但它似乎不起作用:

帮助者类别代码:

代码语言:javascript
运行
复制
   public ConfigureAgGrid(gridOptions: GridOptions): GridOptions {
         rowSelection: 'multiple',
         gridOptions.columnDefs = columnDefs;
         gridOptions.rowData = data;
         onSelectionChanged: this.onSelectionChanged,
        gridOptions.api.sizeColumnsToFit();

        return gridOptions;
    }

组件代码:

代码语言:javascript
运行
复制
onGridReady(gridOptions: GridOptions) {
    this.helperService.ConfigureAgGrid(gridOptions);
}
EN

Stack Overflow用户

发布于 2019-08-14 09:15:28

我使用抽象类进行公共设置。

代码语言:javascript
运行
复制
export abstract class AgGridDatasource {

  private _gridOptions: GridOptions = DEFAULT_GRID_OPTIONS;
  private _gridApi: GridApi;
  private _gridColumnApi: ColumnApi;

  protected constructor(gridOptions: GridOptions) {
    this._gridOptions = Object.assign({}, this._gridOptions, gridOptions);
  }

  refreshColumns(): void {
    if (this._gridApi) {
      this._gridApi.setColumnDefs(this.createColumns());
    }
  }

  abstract createColumns(): AbstractColDef[];

  onGridReady(event): void {
    this._gridApi = event.api;
    this._gridColumnApi = event.columnApi;
  }

  get gridOptions(): GridOptions {
    return this._gridOptions;
  }

  get gridApi(): GridApi {
    return this._gridApi;
  }

  get gridColumnApi(): ColumnApi {
    return this._gridColumnApi;
  }
}

DEFAULT_GRID_OPTIONS看的地方

代码语言:javascript
运行
复制
export const DEFAULT_GRID_OPTIONS: GridOptions =  {
  localeText: AgGridLocaleText,
  defaultColDef: AgGridDefaultColDef,
  rowData: null,
  suppressDragLeaveHidesColumns: true,
  suppressNoRowsOverlay: false,
  suppressLoadingOverlay: false,
  loadingOverlayComponent: 'customLoadingOverlayComponent',
  noRowsOverlayComponent: 'customNoRowsOverlayComponent'

}

最后,我使用构造函数的无限网格类可以覆盖默认的网格选项。

代码语言:javascript
运行
复制
export abstract class AgGridInfinityDatasource<T> extends AgGridDatasource implements IDatasource {

  protected constructor(gridOptions: GridOptions,
    super(Object.assign({},
     {
      rowModelType: 'infinite',
      pagination: false,
      rowSelection: 'none',
      suppressCellSelection: true,
      cacheBlockSize: 100,
     }
     , gridOptions));


   (other code)
票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52564626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档