Сегодня я хотел бы поговорить о некоторых приемах ускорения разработки отчета. Все мы привыкли к технологии drag&drop. Именно таким способом, чаще всего, на страницу отчета разработчики добавляют контролы и поля из таблиц. Но, вы забываете, что можно перетаскивать не один объект, а сразу несколько.
Например, поля из таблицы. Нажимаете на нужное, а затем, зажав клавишу Ctrl отмечаете другие. В результате вы имеете несколько выделенных полей данных. Теперь можно перетащить их потянув за любое из выделенных полей.
Также, вместо Ctrl можно использовать клавишу Shift. При этом будут выделены все элементы, находящиеся между первым отмеченным полем и вторым.
Рассмотренный способ добавления данных на страницу отчета актуален для любых элементов из окна «Данные»: данных, функций, переменных, итогов.
Давайте, для примера, перенесем на бэнд «Данные» несколько полей из таблицы Employee:
А теперь. Добавим в отчет диалоговую форму. Вы можете быстро создавать фильтры по полям из таблицы. Для этого «перетяните» на форму нужное поле из дерева данных. Например HireDate.
Мы получили контрол DateTimePeacker связанный с полем HireDate. Теперь данные будут автоматически фильтроваться по выбранной дате. Добавим таким же способом еще один фильтр по полю FirstName:
При этом мы можем выбрать тип добавляемого компонента:
Любой из этих компонентов может выполнить роль фильтра. Можно ввести фамилию вручную в TextBox. Или выбрать из выпадающего списка. А DataSelector или CheckedListBox позволят выбрать несколько фамилий. Кстати, если у ListBox изменить свойство SelectionMode на MultiSimple, то тоже можно выбирать несколько элементов для фильтрации.
Добавленный фильтр можно изменить под собственные нужды. Поле FilterOperation позволяет выбрать тип фильтрации. Это может быть полное соответствие выбранному из списка элементу, или наоборот не соответствие и др.
Такими нехитрыми приемами вы можете ускорить работу по созданию отчетов, да и просто упростить ручной труд.