javascript - Ag-grid过滤器排序错误

标签 javascript ag-grid

我正在使用ag-grid我对数字过滤有一个小问题:

enter image description here

如您所见,除非数字是 2xxx,否则排序进展顺利,但一旦达到 3 个数字,排序就会开始困惑。

我所期望的是从 500 开始排序,一直到 2400+ 或相反。也许我不知道要添加一个特殊选项来实现这一目标,我疯狂地尝试不同的选项,但似乎没有任何效果。我希望你能帮忙。谢谢。

更新:

我在有关过滤的原始 ag-grid 示例中重现了该问题: https://plnkr.co/edit/Tn9ZeCH4fmLr2ZHQPivQ?p=preview我刚刚改变了年份值,正如您所看到的,它没有按预期排序。

if (r.year === 2008) r.year = 860
if (r.year === 2012) r.year = 920

最佳答案

这样做的原因是它将数据排序为字符串,而不是数字。因此,只需将自定义排序添加到 yeat 字段的 comparator 中即可:

var numberSort = (num1, num2) => {
    return num1 - num2;
  };
var columnDefs = [
    /*The other code is omitted for the brevity*/
    {headerName: "Year", field: "year", width: 90, comparator: numberSort},
    /*The other code is omitted for the brevity*/
];

更新:

看起来您需要将 sortable 添加到 gridoptions:

var gridOptions = {
    defaultColDef: {
        filter: true,
        sortable: true
    },
}

关于javascript - Ag-grid过滤器排序错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60394318/

相关文章:

javascript - 动态迭代 json 数组并添加到另一个数组

javascript - 使用 ag-grid 中的分组功能构建我们自己的 cellRenderer

javascript - 未捕获的类型错误 : Cannot destructure property 'xxx' of 'useAuth(...)' as it is undefined

Javascript 替换功能不起作用

javascript - 为什么这些变量没有在 html View 中打印?

twitter-bootstrap - 包含 Bootstrap 下拉菜单剪辑菜单的 ag-Grid 单元格

angularjs - ag-grid 在最后一列右侧呈现额外的空白列

javascript - 在 Three.js 中更新网格几何?

ag-grid 以编程方式选择行不突出显示

angular - Ag-grid 自定义工具提示组件模板未显示