DevGrid 6: nur Jahre in Filterbox

Beim Filtern einer Column mit Datumswerten sollen nur die Jahre angezeigt werden

Filter aktiv

Dadurch ist auch eine Mehrfachauswahl möglich.
dafür sind 2 Schritte notwendig: Es müssen die Events OnGetFilterValues und OnInitFilteringDateRanges genutzt werden


procedure THWFilter.OnInitFilteringDateRanges(Sender: TcxCustomGridTableItem; ADateRanges: TcxGridDateRanges);
begin
  ADateRanges.Add(TcxGridYearRange); // nach Jahren filtern
end;

procedure THWFilter.OnGetFilterValues(Sender: TcxCustomGridTableItem; AValueList: TcxDataFilterValueList);
var
  z: integer;
begin
  // löschen der einzelnen Tage
  for z := AValueList.Count - 1 downto 0 do
    if AValueList[z].Kind = fviValue then
      AValueList.Delete(z);
end;