Многие формы в Менеджере открываются через прохождение пошагового фильтра. В основном он используется, чтобы задать условия фильтрации запроса к серверу. Каждый шаг формирует свой набор параметров. Управление пошаговым фильтром осуществляется с помощью виртуального метода TRootForm.CreateWizard
. Это функция возвращает результат логического типа, указывающий на наличие фильтра в принципе. При создании основной формы в перекрытом методе CreateWizard
создается объект класса TssFormMapWizard
, который сохраняет необходимые данные основной формы в своем объекте-хранителе RootCreateData
и прерывает процесс ее создания. Затем запускается метод TssMapWizard.Run
, который создает цепочку форм-шагов фильтра. После прохождения всех шагов исходная форма создается заново с передачей параметров, полученных от форм-шагов.
Для добавления шага в цепочку служит метод TssMapWizard.AddStep
с параметром StepClassName
. В качестве класса шага фильтра могут выступать как специфичные формы-шаги, так и все зарегистрированные формы-списки, если их метод CanUseAsWizardStep
возвращает True. Шаги могут пропускаться при первом запуске, если задана инициализация по умолчанию, либо когда их данные сохранены пользователем при помощи команды на форме шага .
Параметры пошагового фильтра передаются в датасет в событии BeforeOpen
, о чем нужно не забыть при настройке нового шага.