* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна!
Фильтрация и сортировка данных
19 февраля 2009
QuickReport не имеет своих собственных средств для сортировки данных. Данные всегда печатаются в том порядке, в каком они поступают от источника данных. Для изменения порядка печати данных укажите индекс в компоненте TTable присоединенном к отчету. Если такого индекса не существует, то добавьте нужный или используйте компонент TQuery. При печати отчета с помощью компонента TQuery задайте порядок сортировки в запросе. Смотрите соответствующую документацию по написанию SQL запроса.
Фильтрация данных может быть выполнена несколькими различными путями. Если вы печатаете с помощью компонента TTable и используете Delphi 2.0 или выше, то вы можете использовать свойство TTable.Filter для создания условий фильтрации. Не забудьте также становить свойство TTable.Filtered. Другое возможное решение – это использовать компонент TQuery и указать условие Where для выбора условий фильтрации. Delphi позволяет создавать параметризированные запросы, которые позволяют просто управлять данным процессом. Смотрите документацию Delphi по данному вопросу. Третий возможный путь – это использовать событие BeforePrint вашей Detail секции для включения или выключения печати данной секции. Пример ниже показывает использования обработчика данного события. procedure TrepList.ReportDetailPrintEvent(Sender:TComponent; PrintBand : Boolean); begin PrintBand := CustomerTableCompany.Value > ‘H’; end;