我想按年份对行进行分组。 我没有带有int Year的列,但有一个类型为Date的列。
在我的列def中,我添加了rowGroup:true来激活分组。
现在我如何告诉aggrid我想对日期的year属性进行分组?
它是基于valueFormatter吗?
function (data) {
if (data.value == undefined) return "";
var val = (new Date(data.value)).getFullYear();
return val;
}
基于比较器func吗?
comparator: function (date1, date2) {
if (date1 == undefined) return -1;
if (date2 == undefined) return 1;
var year1 = date1.getFullYear();
var year2 = date2.getFullYear();
if (year1 == year2) return 0;
return (year1 < year2) ?-1:1;
}
我在比较器中有一个断点。看来它从未被调用过。
是在cellFormatter中吗? cellRenderer吗?
现在我得到了组行为(复选框以展开/折叠行组)。但是我得到了n个叫做“ 2018”的组,每个日期一个。
奖金问题:如何将此列显示为组而不显示为普通列?我想按年份分组,并显示一个“第二”列,其日期为dd / mm / yyyy。
答案 0 :(得分:0)
您可以做的是基于日期字段创建一个附加列,将其分组但隐藏为一列。使用valueGetter来显示年份:
function yearGetterFunction(params) {
if (params.data.yourDateField== undefined) return "";
var val = (new Date(params.data.yourDateField)).getFullYear();
return val;
}
coldefs:[
// your other columns,
{headerName: "Year", field: "yourDateField" valueGetter: yearGetterFunction, rowGroup:true, hide:true}
]