Добрый день!
Есть известная методика выборки и автоподсветки желтым искомого текста с помощью
ApplySearchFilter через такой код:
Код:
with МойГрид do
begin
SearchPanel.Active:=True;
SearchPanel.SearchingText:='Искомая подстрока';
SearchPanel.ApplySearchFilter;
end;
Однако, в некоторых случаях все же требуется иное поведение. Поясню. У меня есть две сетки, у которых датасеты состоят в классических мастер-детэйл отношениях (таблица организаций - таблица контактных лиц). И алгоритм выборки\фильтрации реализован так, что искомый текст (который задается в едином поисковом контроле) может быть в обоих таблицах, а может быть только в какой то одной. Таким образом, если искомый текст есть в подчиненной (контактные лица), то подсветить искомое нужно только в ней.
Таким образом, ApplySearchFilter с его подсветкой здесь не вполне подходит, поскольку он работает строго только по одной таблице. Да и, кроме того, выборка у меня делается своими средствами. Все что мне нужно, это получить доступ к обработчикам подсветки, типа
DrawHighlightSubstrs, но напрямую из моих сеток. Возможно ли это и как лучше реализовать, из какого события ?