Опубликован: 29.07.2008 | Доступ: свободный | Студентов: 1265 / 144 | Оценка: 4.49 / 4.15 | Длительность: 17:53:00
Лекция 8:

Введение в службы Reporting Services

Разработка макета, тестирование и уточнение отчета

Мы определили проект и некоторые данные, теперь самое время разработать, протестировать и уточнить наш отчет.

Создание макета отчета
  1. При открытом проекте отчета перейдите на вкладку Layout (Макет). Вы увидите узкий прямоугольник с сеткой, обозначенной точками.
  2. Скройте панель Solution Explorer (Обозреватель решений), отжав кнопку Автоматически скрывать, чтобы обеспечить себе дополнительное место для работы с областью конструктора отчетов.

    Предупреждение. Обратите внимание на линейку сверху и сбоку от начальной области конструктора. Возможно, вам интересно, почему эта область не соответствует размеру предпочитаемого вами формата бумаги (Letter, A4 и т. д.). Служба Reporting Services не предназначена для создания отчетов на бумаге, поэтому инструменты создания макета автоматически не привязаны к размерам бумаги.

  3. В меню View выберите Toolbox (Панель элементов).
  4. Перетащите элемент управления Textbox (Текстовое поле) в плоскость сетки. Введите в этом поле Employee Sales, измените размер текстового поля, чтобы оно могло вместить больше текста и отрегулируйте формат поля (размер шрифта 16 точек, полужирный), чтобы он соответствовал изображению на рисунке. Шрифт можно настроить, нажав правой кнопкой мыши на тексте, выберите из контекстного меню Properties (Свойства), а затем выберите вкладку Font (Шрифт).

    Предупреждение. Если вы слишком далеко переместите правую границу текстового поля, то заметите, что область конструктора также расширилась, чтобы вместить элемент управления. Будьте внимательны и не превышайте нужный размер страницы, поскольку службы Reporting Services не ограничивают вас в размерах. Это может привести к тому, что отчет займет более одной страницы по ширине. Чтобы исправить ситуацию, можно уменьшить ширину элементов управления, снять выделение, а затем перетащить мышью правую границу сетки обратно до ее исходного положения.
  5. Теперь создайте место для хранения данных отчета. Перетащите мышью с панели элементов элемент управления Table (Таблица) и отпустите его в области конструктора, как показано на следующем рисунке. Не беспокойтесь о том, где отпустить элемент управления, поскольку он все равно займет всю ширину области конструктора. В таблице будет отображаться три строки и девять ячеек. Обратите внимание на верхнюю и левую границы таблицы (серого цвета). Они исчезают при выделении элемента управления и появляются снова, когда выделение снимается. Области серого цвета помогут при выполнении специфических операций вроде выделения целого столбца, целой строки или всей таблицы.
    Совет. Выделить всю таблицу может быть непросто. Щелкнув на элементе управления, вы выделите только одну ячейку; если щелкнуть за пределами элемента управления, то выделение, как и ожидалось, будет снято. Как же выделить всю таблицу? Можно воспользоваться традиционным методом выбора ячейки, для чего следует добиться отображения серых границ, а затем щелкнуть на границе поля в левом верхнем углу, или, если в центре нет элемента управления, щелкнув за пределами таблицы в области конструктора и перетащив область выделения, в которую попадут только элементы управления таблицы.
  6. Выведите на экран панель Datasets (Наборы данных), выбрав из меню View (Вид) соответствующую команду. Затем разверните дерево узла dsEmployeeSales.
  7. Перетащите мышью поле SalesPersonID и отпустите его в самой левой ячейке таблицы средней строки (строки Detail ). Обратите внимание на появившееся в этой ячейке выражение. Мы вернемся к нему в следующем действии.
  8. Повторите операцию перетаскивания мышью в отношении полей LastName и JobTitle, заполнив, соответственно, центральную и правую ячейки области Detail (Подробности). Не беспокойтесь о столбцах FirstName и MiddleName ; их мы будем использовать позднее при построении выражения, возвращающего полное имя сотрудника.
  9. Нам понадобится дополнительный столбец и дополнительное пространство для размещения поля SalesYTD. Для этого уменьшите ширину столбца SalesPersonID, щелкнув и перетащив линию между заголовками столбцов SalesPersonID и LastName. Обратите внимание на двунаправленную стрелку, в которую превращается курсор, когда он оказывается над этой линией. Также обратите внимание на то, что соответственно уменьшается и ширина таблицы.
  10. Щелкните правой кнопкой мыши заголовок столбца JobTitle и выберите из контекстного меню команду Insert Column To The Right (Вставить столбец справа), чтобы добавить столбец справа от столбца JobTitle. Перетащите мышью поле SalesYTD в только что созданную ячейку строки Detail (Подробности).
  11. Теперь область конструктора будет сжата с правой стороны. Если вы хотите распечатать отчет на бумаге, необходимо держать ширину области под контролем. Измените размер столбца SalesYTD в сторону уменьшения и перетащите границу области конструктора, чтобы отрегулировать ширину. Какая ширина будет правильной? Ознакомьтесь с материалом врезки "Как правильно определить ширину области конструктора".
  12. Сохраните вашу работу, нажав кнопку Save (Сохранить).
Как правильно определить ширину области конструктора

Ненужные пустые страницы – это один из неприятных побочных эффектов, с которым могут столкнуться разработчики отчетов при распечатке или экспорте в форматы для печати. Почему появляются эти пустые страницы? Часто этому находится простое математическое объяснение.

В Reporting Services для определения места разрывов страницы используются три элемента: ширина страницы, ширина правого и левого поля страницы и ширина области конструктора. Обратите внимание, что я упомянул ширину области конструктора, а не используемую ширину области конструктора. Верхняя линейка – это ваш гид для определения ширины области конструктора.

С информацией о макете страницы можно ознакомиться, выбрав из меню Report (Отчет) команду Report Properties (Свойства отчета). В диалоговом окне Report Properties (Свойства отчета) перейдите на вкладку Layout (Макет). Здесь вы найдете размеры полей страницы.

С помощью этих значений можно рассчитать максимальную ширину области конструктора, при которой отчет при распечатке поместится по ширине страницы.

Максимальная ширина области = Ширина страницы—Левое поле – Правое поле.

Если для печати отчета вместо книжного формата страницы вы хотите использовать классическую альбомную ориентацию, просто поменяйте местами значения ширины(Page Width) и высоты (Page Height) страницы на вкладке Layout (Макет). Конечно, для ширины области конструктора следует использовать это новое значение ширины страницы.

Предварительный просмотр отчета
  1. Создав основу макета отчета, давайте посмотрим, как он будет выглядеть при печати. Перейдите на вкладку Preview (Просмотр) в представлении конструктора. На короткое время появится сообщение о том, что выполняется формирование отчета, после чего на экран будут выведены результаты обработки.
    Предупреждение. Не нажимайте кнопку Start Debugging (Начать отладку) (кнопка с зеленой стрелкой) на панели инструментов или клавишу F5. Любое из этих двух действий запустит операцию Build and Deploy (Построить и развернуть). Сейчас нам нужно только ознакомиться с предварительным просмотром отчета.

    Вы увидите, что требуется некоторое редактирование, например, форматирование цифр или названия столбца SalesPersonID. Мы займемся этим в следующих разделах. Находясь на вкладке Preview (Просмотр), вы можете распечатать, ознакомиться с предварительным просмотром печатаемого отчета и экспортировать результаты отчета.

  2. Чтобы просмотреть отчет в печатном виде, можно нажать кнопку Print Layout (Предварительный просмотр печати) на панели инструментов. Кнопка Print Layout (Предварительный просмотр печати) – это переключатель, следовательно, она остается нажатой при переходе между вкладками, пока вы ее снова не отожмете.
    Предупреждение. Вкладка предварительного просмотра в Reporting Services формируется модулем подготовки просмотра, который отличается от других модулей подготовки, например, модуля подготовки HTML или модуля подготовки PDF. Если посмотреть на поведение страницы, разница окажется существенной. Если нужно доставить отчет в любом определенном формате, проверьте разрывы страниц именно в этом формате, не обращайте внимания на разрывы страниц, которые вы увидите на вкладке Preview (Предварительный просмотр). Не стоит придавать значения этим разрывам, поскольку модуль подготовки предварительного просмотра не использует заданные вами параметры разрыва страниц.
  3. Вернитесь на вкладку Layout (Макет), чтобы продолжить редактирование отчета.
Редактируем текст в ячейках таблицы
  1. Нам нужно, чтобы для каждого сотрудника отображалась не фамилия, а полное имя. Этого можно добиться, отредактировав выражение при помощи перечисленных ниже действий. Давайте отредактируем название столбца. Дважды щелкните на ячейке, которая содержит текст "LastName", чтобы перейти в режим редактирования. Удалите слово "Last", чтобы осталось только слово "Name".
  2. Попытка повторить эту операцию со столбцом "SalesPersonID" может вызвать затруднения, поскольку из-за того, что для него выделено слишком мало места, большая часть текста остается скрытой. Тем не менее, текст можно редактировать точно таким же способом. Измените текст, чтобы в названии столбца осталось только "ID". Можно изменить значение столбца по-другому, при помощи разных методов:
    • Щелкнув правой кнопкой мыши на ячейке и выбрав из контекстного меню команду Properties (Свойства), выведите на экран диалоговое окно свойств, показанное на следующем рисунке. В нем можно отредактировать раскрывающийся список Value (Значение).

    • Щелкнув правой кнопкой мыши на ячейке и выбрав из контекстного меню команду Expression (Выражение), выведите на экран диалоговое окно Edit Expression (Изменить выражение), как показано ниже. В этом окне можно отредактировать выражение.

    • Нажав клавишу F4 или кнопку Properties Window (Окно свойств) на панели инструментов, выведите на экран окно Properties Window (Окно свойств); можно щелкнуть и в самом окне Окне свойств, если оно уже отображается на экране. В окне Properties (Свойства) можно отредактировать раскрывающийся список Value (Значение).
  3. Сохраните отчет.
    Предупреждение. Свойства элементов отчета можно редактировать и через диалоговое окно Properties (Свойства), и через Properties window (Окно свойств). Некоторые свойства проще изменить в одном из этих двух окон, чем в другом. Обычно лучше выбирать диалоговое окно Properties (Свойства), потому что оно предлагает больше помощи в правильной настройке свойств. Некоторые элементы, такие, как Groups (Группы), Body (Тело) или сам Report (Отчет) имеют свойства, которые показаны только в Окне свойств; у них нет своего диалогового окна Properties (Свойства).