如何在ag-grid中默认对列进行排序?

Posted

技术标签:

【中文标题】如何在ag-grid中默认对列进行排序?【英文标题】:How to sort a column by default in ag-grid? 【发布时间】:2021-12-16 11:11:38 【问题描述】:

我有一个 ag-grid 表,其中有一个“状态”列,其中一些值是“活动的”,一些是“非活动的”。我希望我的表只显示默认情况下具有“活动”状态的行。使用this question 作为参考,我尝试使用 onFirstDataRendered 进行设置:

  const onFirstDataRendered = (params: FirstDataRenderedEvent) => 
    const filter = params.api.getFilterInstance('status');
    if (filter) 
      filter.setModel(
        type: 'equal',
        filter: 'ACTIVE',
      );
      filter.onAnyFilterChanged();
    
  ;

但我的代码无法编译,因为它说我不能调用 onAnyFilterChanged,因为我“不能调用可能未定义的对象”。有谁知道如何解决这个问题?

【问题讨论】:

【参考方案1】:

问题可能是type 应该是equals 而不是equal,如文档中所示:https://www.ag-grid.com/javascript-data-grid/filter-provided-simple/#simple-filter-options

如果这不能解决问题,请尝试使用Filter API:

  const onFirstDataRendered = (params: FirstDataRenderedEvent) => 
    const filterModel = 
    status: 
        filterType: 'text',
        type: 'equals',
        filter: 'ACTIVE'
        ,
    
    params.api.setFilterModel(filterModel)
    
  ;

【讨论】:

以上是关于如何在ag-grid中默认对列进行排序?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用空标题名称对 AG-Grid 中的列进行排序

如何在熊猫中按值计数对列进行排序

如何在 Handsontable 中使用自定义渲染器对列进行排序?

当我从 ajax 发送数据时,如何在 jQuery 中使用 DataTables 对列进行排序?

如何在数据库表中按字母顺序对列进行排序? [关闭]

如何根据与另一列的完全匹配对列进行排序