如何解决ag-grid日期列inRange过滤器-如何在测试功能中访问“到”日期?
我的日期columnDef
包括以下filterOption
:
{
displayKey: 'inRange',displayName: 'In range',test: function(filterValue,cellValue) {
...
}
},
我运行时,filterValue
只是过滤器的“开始”日期。如何访问test
中过滤器的“截止日期”?
我尝试过:
{
displayKey: 'inRange',test: function(filterValue1,filterValue2,
但这只是将单元格值放入filterValue2
中,而cellValue
未定义。
如何获取截止日期,以便为inRange
编写自定义逻辑?
解决方法
我也有类似的问题,我想使用原型覆盖进行覆盖,但是我发现了另一种解决方法,但它对我有用。您可以在测试函数中调用以下方法。
gridOptions.api.getFilterModel();
这将为您提供当前列上的filtermodel。您可以使用以下代码
//getFilterModel() will give you filter JSON object
var customfilterModel = gridOptions.api.getFilterModel();
var columnName = Object.keys(customfilterModel)[0];
var customDateFilter = customfilterModel[columnName];
customDateFilter
变量将是包含以下属性的对象
{
dateFrom: "2020-06-30" //the date which you selected in AGGridDateFilter Popup
dateTo: "2020-08-27" //the date which you selected in AGGridDateFilter Popup
filterType: "date"
type: "inRange"
}
现在,因为您同时拥有dateFrom
和dateTo
属性,所以我想您知道要使用它们做什么。
我认为AG Grid人员应该更新
return customFilterOption.test(filterText,cellValueFormatted);
上面的语句可以同时返回dateFrom
和dateTo
,如下所述,以便开发人员可以针对自定义/复杂日期自定义行为。
return customFilterOption.test(filterText,cellValueFormatted,filterValueTo);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。