【问题标题】:Angular ag-grid Sequence for filter order from Alphabetical [Default] into Custom order过滤器顺序的角度 ag-grid 顺序从字母 [默认] 到自定义顺序
【发布时间】:2019-01-14 10:07:39
【问题描述】:

我正在尝试在 ag-grid 过滤器上拥有自己的自定义过滤器顺序。

除了默认的过滤顺序[按字母顺序],我想有自己的过滤顺序。

与 Ag-grid 一样,我只能按字母顺序显示过滤器,但在我的情况下,我希望它作为动态数据的自定义过滤器顺序。

作为参考,我在过滤器中包含了一些数据并观察 这是按字母顺序排序的。

请找到以下插件:

Plunker for filter Sequence

让我在下面展示一些我的 UI

所以,我正在尝试更改自定义过滤器顺序。

例如

  • 严重

  • 中等

有人知道怎么做吗?

我的模板:

filter.component.ts

 this.columnDefs = [
    {
          headerName: 'Severity',
          field: 'Severity',
          enableRowGroup: true,
          rowGroup: true,
    }

【问题讨论】:

  • 只需对它应用sort
  • @mast3rd3mon 你能用排序修改代码吗?
  • 使用 this.columnDefs.sort(.....); 并相应地对您的数组进行排序
  • @mast3rd3mon 实际上我正在对过滤器数据进行排序,而不是列数据...所以我该如何更改该字段:“严重性”

标签: angular filter sequence ag-grid alphabetical


【解决方案1】:

大家好,感谢你们的 cmets 解决这个问题。

最后这个问题通过我自己的研究解决了。

请在Plunker下方..,

Plunker for Custom filter ordering sequence

每个 Ag-grid 过滤器数据仅按字母顺序显示。

因此,我们希望它作为动态数据的自定义过滤顺序。

所以,根据我们的实现,它变成了如下所示的自定义方式..,

filter.component.ts

 {
           headerName: 'Severity',
           field: 'Severity',
           filterParams: {
             values: getAllValues(),
             comparator: function (a, b) {
               const numA = parseInt(a);
               const numB = parseInt(b);
               if (numA > numB) {
                 return 1;
               } else if (numA < numB) {
                 return -1;
               } else {
                 return 0;
               }
             }
           },

function getAllValues() 
{ 
   const allPages: any = []; 
   allPages.push('Critical','High', 'Medium', 'Low'); 
   return allPages;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    相关资源
    最近更新 更多