Сортировка данных – один из важнейших инструментов обработки данных. Можно сказать, это основа аналитика. Ведь анализировать хаотично выводимые данные практически невозможно. Поэтому сортировка предусмотрена во всех инструментах, работающих с данными. Это касается и генераторов отчетов. Ведь источник данных может предоставлять отчету не отсортированные данные, или отсортированные, но не по нужному полю, не в том порядке.
В документации к FastReport .NET говорится о двух способах сортировки: сортировка значений групп, сортировка данных в бэнде “Данные”.
Первый вид сортировки доступен нам при создании группировки, а именно при настройке бэнда «Заголовок группы». Выбирая поле, по которому будет производиться группировка, вы можете сразу же и отсортировать по нему.
Доступны три опции сортировки: без сортировки, по возрастанию, по убыванию.
Но, если говорить о сортировке основных данных в бенде «Данные», тот тут нам доступна более продвинутая сортировка – сразу по трем полям, причем для каждого из них можно выбрать порядок сортировки.
Чтобы вызвать редактор сортировки нужно дважды кликнуть по заголовку бэнда на шаблоне страницы.
Несмотря на дружественный интерфейс, этот инструмент обладает одним существенным недостатком. А именно – возможна сортировка только по трем полям. Однако, некоторые таблицы имеют множество полей, и может потребоваться сортировка по большему, чем 3 количеству полей.
Обойти это ограничение можно сортируя данные в источнике с помощью SQL запроса. Можно сделать это либо при создании источника данных, либо в уже созданном источнике, непосредственно для нужной таблицы.
В первом случае мы просто пишем SQL запрос для получения данных в нужном порядке. Второй случай – то же самое, но в уже созданном источнике данных.
В дереве данных выбираем нужную таблицу. В инспекторе свойств задаем SelectCommand.
Вызывается мастер создания SQL запроса. Можно ввести запрос вручную, либо использовать конструктор запросов. Таким образом, вы можете сортировать по сколь угодному количеству полей:
1 |
SELECT * FROM customer ORDER BY Country, City, State, CustNo, Company
|
Во время создания источника данных, вы можете и не подозревать, что вам нужен определенный порядок данных. Но всегда можно добавить запрос в уже созданном источник данных. Но этот способ не сработает с не SQL базами данных.