Определение минимальной даты в дереве (TcxDBTreeList)

Romka-Fes
Дата: 15.07.2019 12:30:43
Доброго всем времени суток!
Есть клиент-сервер декстопное приложение.
Есть задача - нужно в дереве (TcxDBTreeList,привязано к таблице с Parent-Child) на каждой "ветке" дерева определить минимальную дату из некоего поля с датой. С учётом всех уровней "выше", т.е. рекурсивно.

Варианты делать это на сервере не подходят, так как важно с учётом применения всякого рода кастомных фильтров на клиенте, пересчитывать эти минимальные даты.

Подскажите пожалуйста, если кто в курсе, куда-бы посмотреть, дабы не делать свой велосипед?

Спасибо!
Virtual Student
Дата: 15.07.2019 13:14:08
Romka-Fes,

Что-то типа этого.
procedure TfrmBlaBla.DoFilterByBlaBla(Column: TcxDBTreeListColumn; const ADate: TDateTime);
var Index, ParentId: Integer;
    ANode: TcxTreeListNode;
begin
  for Index:=0 to Tree.AbsoluteCount-1 do begin
    ANode := Tree.AbsoluteItems[Index];
    ParentId := Tree.DataController.GetNodeValue(ANode, tlPid.ItemIndex);
    // ... извлечение нужных полей, условия, сравнения и все такое ...
  end;
  Filtered := True;
  ExpandTree;
end;