майкрософт репорт вивер что это

майкрософт репорт вивер что это

В качестве практической части будет рассмотрено создание приложения, отображающего отчеты для торговой системы Супермаг (которая, собственно, и использует базу Oracle).

Одним из плюсов портативной дистрибуции клиента Oracle является то, что его стандартная установка — не самое приятное занятие. А если еще устанавливать и Report Viewer, то процесс установки на несколько машин рискует стать утомительным занятием. Конечно же, в качестве альтернативы можно использовать ClickOnce, но при дистрибуции с помощью ClickOnce также вполне можно копировать папку с библиотеками как это делается в данном примере.

Необходимые библиотеки для десктоп приложения со портативным доступом к Oracle

Необходимо скачать Oracle Instant Client. Если вы используете локализованное приложение, то лучше вам взять пакет basic, он хоть и занимает размер около 100Mb, но зато, в отличие от «лайтового» (light) 30 мегабайтного, гарантирует вам работу с кириллицей.

Распаковывает архив и берем из него 2 файлика:

oci.dll (аббревиатура от Oracle Call Interface);
orannzsbb11.dll либо orannzsbb12.dll (если вы будете использовать 12-ю версию).

Необходим еще и третий файлик:

Если вы взяли версию basic, то это будет — oraociei11.dll или oraociei12.dll (опять же для версии 12).
Если вы взяли версию light — oraociicus11.dll или oraociicus12.dll (уже не буду упоминать, что второй файл для версии 12 – это и так всем понятно).

А еще необходим Oracle Data Provider — ODP.NET (лучше взять XCopy версию, — она меньше размером), распаковать и найти 2 файла:

Если вы хотите использовать версию 12, можете скачать и Oracle Instant Client и ODP в одном файле ODAC (Oracle Data Access Components) по ссылке: www.oracle.com/technetwork/topics/dotnet/downloads/index.html

Необходимые библиотеки для приложения со портативным Report Viewer

В качестве портативной дистрибуции Report Viewer-а возьмем версию 2010.

Версию 2013 в качестве версии для портативной дистрибуции я не брал. После того, как я обнаружил, что в ней отсутствует Microsoft.ReportViewer.ProcessingobjectModel.dll, у меня произошел «разрыв шаблона» и я решил, что вполне устроят отчеты 2010-го года. Если вы знаете, как создать портативную дистрибуцию версии 2013-го, жду ваших комментариев. Можно было бы даже конкурс объявить, да вот незадача — приза нет.

Качаем Microsoft Report Viewer Redistributable 2010 и распаковаем exe файл как архив.
Среди распакованных файлов находим reportviewer_redist2010core.cab.
Продолжаем «матрешку» и распаковываем в свою очередь и этот файл.
Находим файлы и переименовываем следующим образом:

FL_Microsoft_ReportViewer_Common_dll_117718_117718_x86_ln.3643236F_FC70_11D3_A536_0090278A1BB8
переименовываем в Microsoft.ReportViewer.Common.dll

FL_Microsoft_ReportViewer_Processingobject_125592_125592_x86_ln.3643236F_FC70_11D3_A536_0090278A1BB8
переименовываем в Microsoft.ReportViewer.ProcessingobjectModel.dll

FL_Microsoft_ReportViewer_WebForms_dll_117720_117720_x86_ln.3643236F_FC70_11D3_A536_0090278A1BB8
переименовываем в Microsoft.ReportViewer.WebForms.dll

FL_Microsoft_ReportViewer_WinForms_dll_117722_117722_x86_ln.3643236F_FC70_11D3_A536_0090278A1BB8
переименовываем в Microsoft.ReportViewer.WinForms.dll

Если на компьютере разработчика установлен Oracle Client и Report Viewer (а он должен быть установлен обязательно), ссылки на эти файлы можно даже на задавать, а просто скопировать их в папки с exe (в папки Debug и Release проекта). А вот Oracle.DataAccess.dll необходимо обязательно поместить в папку проекта и установить свойство «Копировать локально» в какой-нибудь из двух вариантов копирования.

Перед тем, как запустить поиск dll система проверяет не загружена ли dll уже в память, а также не присутствует ли dll в списке уже известных dll (попробуйте посмотреть список в реестре по адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs).

Алгоритм поиска dll зависит от некоторых факторов (например, от того, установлен ли режим SafeDllSearchMode), но приблизительно таков (в примере SafeDllSearchMode выключен):

1. Директория, из которой запускается приложение;
2. Текущая директория;
3. Системная директория. Можно использовать функцию GetSystemDirectory для получения пути к этой директории;
4. 16-ти битная системная директория;
5. Директория Windows. Можно использовать функцию GetWindowsDirectory;
6. Папки, которые указаны в системной переменной PATH.

Что такое системная переменная PATH и где она находится, смотрите наглядно на следующем скриншоте:

майкрософт репорт вивер что это

Теперь перейдем к практической части.

В приложение WPF (а для меня XAML более предпочтителен, чем устаревшие Forms в качестве редактора компоновки) компонент Report Viewer добавляется с помощью элемента управления WindowsFormsHost.

Чтобы пример не выглядел бесполезным, получим в нем данные из истории документа.
Для хранения данных, необходимых отчету, создадим класс:

Теперь мы может создать файл шаблона внешнего вида нашего отчета (Для визуального редактора на компьютере разработчика при установке Visual Studio должен быть выбран пункт Microsoft SQL Server Data Tools).

Добавим в проект файл отчета (Reporting – Отчет). Установим значение свойства «Копировать локально» в «Копировать, если новее». После чего открываем только что созданный файл отчета и заходим на закладку «Источники данных». Кликнем «Добавить новый источник данных», выбираем типом «Объект», в списке объектов раскрываем наш проект и находим в нем наш класс ReportDataSM, который и выделяем:

майкрософт репорт вивер что это

Далее для отображения строк с данными добавим в отчет таблицу. При добавлении на запрос свойства набора данных выберем наш источник данных и зададим ему какое-нибудь имя (в примере DataSet1):

майкрософт репорт вивер что это

Этот источник данных будет указан в табликсе таблицы в свойстве DataSetName. Файл rdlc можно редактировать не только с помощью визуального редактора, но также и с помощью редактора XML (таким способом удобно удалять старые ненужные данные).

Устанавливаем столбцам значения из данных нашего массива (кликая на строки – это просто и интуитивно понятно, объяснять подробно не буду).

Рассмотрим код

Так как замораживать интерфейс — это очень плохая практика, выборку данных запустим в отдельном потоке. Для хранения данных используем конкурентную универсальную (generic) коллекцию класса ReportDataSM. Добавим в объявления переменных (в начало класса):

После инициализируем ее где-нибудь в коде:

Раз данные мы решили получать, не блокируя интерфейс, для вызова метода асинхронно нам понадобится делегат:

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

Вызываем этот метод асинхронно с помощью:

Обратите внимание на метод CompletedCallback, который передается в качестве параметра.
Его реализация необходима для того, чтобы после завершения нашего вызываемого метода запустить какой-либо другой метод. В нашем случае после извлечения данных нужно привязать эти данные к отчету и обновить интерфейс.

Но у нас есть загвоздка в том, что интерфейс мы можем обновлять только из потока приложения.
Для этого мы вызовем метод обновления интерфейса приложения из потока диспетчера. То есть содержимым нашего метода CompletedCallback будет:

Опять же, для вызова метода асинхронно нам понадобился делегат, который на этот раз не принимает никаких параметров. Добавим его в начало нашего кода:

Должно получиться примерно такое вот приложение:

Источник

Использование контрола ReportViewer в Windows приложниях

Параграф 1. Вместо предисловия

По существу, ReportViewer является наиболее мощным добавлением к таким элементам управления как, GridView, DataList, DetailsView, FormView, Repeater. В ReportViewer отчёты можно создавать с помощью технологии «drag-and-drop» внутри Дизайнера Отчётов (Report Designer), входящего в среду разработки Visual Studio 2005.

Параграф 2. Источник данных

майкрософт репорт вивер что это

Создание таблицы БД:

майкрософт репорт вивер что это

Рис.2. Создание таблицы БД

Задание полей таблицы:

майкрософт репорт вивер что это

Рис.3. Задание полей таблицы

После задания полей таблицы и попытки закрыть окно Table, среда запросит имя файла базы данных. Запишем любое имя, например ThisAnimals.

майкрософт репорт вивер что это

Рис.4. Открытие созданной таблицы базы данных

майкрософт репорт вивер что это

Рис.5. Заполнение таблицы информацией

Параграф 3. Создание проекта решения

Создадим простой Windows проект решения, как мы это делали неоднократно (Меню File/New/Project). Дадим имя проекту RepView, как показано на Рис.6:

майкрософт репорт вивер что это

Рис.6. Создание проекта решения

Поместим на форму два контрола Button и ReportViewer, как показано на Рис.7:

майкрософт репорт вивер что это

Рис.7. Добавление рабочих контролов

Проект создан, но прежде чем заполнять его кодом, отвлечемся на источник информации.

Параграф 4. Источник данных для отображения

Нажимаем в правом верхнем углу контрола треугольничек и выбираем пункт Design a new Report (Рис.7.). В появившемся окне редактора ReportViewer, нажимаем кнопку «Add New Source..»(Рис.8.)

майкрософт репорт вивер что это

Рис.8. Добавление источника данных

Прежде чем выбрать DateBase и нажать кнопку Next (Рис.9.), мы можем скопировать файл созданной выше базы данных (файл Animals.mdb) в директорию проекта решения (хотя это и не является обязательным, среда предложит Вам позже выполнить это еще раз, но и там у Вас останется право выбора).

майкрософт репорт вивер что это

Рис.9. Добавление источника данных

Нажимаем кнопку New и далее выбираем DataSource и DataFileName, как показано на Рис.10.

майкрософт репорт вивер что это

Рис.10. Добавление DataSource и DataFileName

В результате выбора получим результат:

майкрософт репорт вивер что это

Рис.11. Результат выбора источника данных

После нажатия кнопки Next не соглашаемся включить файл базы данных в текущий проект (зависит от цели задачи).

Результат мы видим на Рис.12:

майкрософт репорт вивер что это

Рис.12. Результат выбора источника данных

Нажимаем кнопку Finish. Результат выбора источника данных будет иметь вид Рис.13:

майкрософт репорт вивер что это

Рис.13. Результат выбора источника данных

Параграф 5. Отображение данных

Кликнем мышкой в поле дизайнера Report1.rdlc и в меню View выберем ToolBox. В результате в проекте отобразится ToolBox, с контролами, которые доступны для использования в ReportViewer (Рис.14.). Здесь мы видим все доступные для отображения в ReportViever контролы. Вначале будем использовать таблицу. Перетащим таблицу на панель дизайнера:

майкрософт репорт вивер что это

Рис.14. Добавление таблицы в дизайнер ReportViever

Вновь вернемся на вкладку DtatSource и перетащим поля источника во вторую строку таблицы, как показано на Рис.15.

майкрософт репорт вивер что это

Рис.15. Добавление полей отображения в ReportViever

Мы можем перетащить поля и в третью строку. При этом, по умолчанию, ячейка таблицы будет восприниматься как сумма содержимого ячеек данного столбца:

Достаточно кликнуть правой кнопкой мышки по данной ячейке и выбрать пункт «fx Expression. » мы отобразим окно «Edit Expression», где можно подобрать любую другую функцию из множества доступных. Для нашего примера в первой ячейке третьей строки запишем просто слово «Итого».

Если мы выполним решение на данном этапе, то получим сообщение:

Иначе, мы определили структуру отображения, но пока не дали сами данные для отображения. Однако, учитывая, что Visual Studiо сохраняет все при выполнении решения, мы, тем самым сохранили и файл Report1.rdlc, который на данный момент содержит структуру отображения данных и структуру ее источников в виде нашего AnimalsDataSet.

майкрософт репорт вивер что это

Рис.16. Использование ReportViever для отображения табличных данных

Теперь добавим контрол Chart со вкладки Tools ReportViewer. И, как показано на Рис.17. перетащим поля в своеобразные ушки контрола, которые появляются при двойном клике мышкой в поле контрола.

майкрософт репорт вивер что это

Рис.17. Использование ReportViever для отображения табличных данных

майкрософт репорт вивер что это

Рис.18. Выбор диаграммы

После нажатия кнопки OK, выполним решение. Результат показан на Рис.19:

майкрософт репорт вивер что это

Рис.19. Выбор диаграммы

Параграф 6. Упрощенный способ отображения данных

Владимир Розанов (инженер-программист, Полесский государственный университет) прислал письмо:

Спасибо Владимиру, именно благодаря ему, мне пришлось продолжить статью. Я вполне согласен с Владимиром, достаточно установить свойства, как показано на Рис.20., и написать код, приведенный ниже, и при загрузке решения на выполнение мы получим тот же результат, что и на Рис.19. Этого во многих случаях, вполне достаточно для выполнения цели создания приложения.

майкрософт репорт вивер что это

Рис.20. Упрощенный способ отображения данных

Однако, мы, при этом, теряем гибкость отображения. Для каждого использования ReportViewer потребуется создать свой файл ReportEmbeddedResource (RepView.Report1.rdlc, RepView.Report2.rdlc. ). Приведенный же метод позволяет использовать многократно один и тот же файл ReportEmbeddedResource. Простейший пример приводится ниже.

Параграф 7. Использование одного ReportEmbeddedResource для вывода различных отчетов

Создадим еще одну таблицу в нашей базе данных (связанную по id с ранее созданной), как показано на Рис.21.

майкрософт репорт вивер что это

Рис.21. Создание дополнительной таблицы

Добавим еще одну кнопку и контрол Label на форму, и будем использовать следующий код (приводится полностью):

Цветом выделено предложение Select. Второе из них приводит названия выбираемых полей из двух таблиц к их названиям в созданном нами «AnimalsDataSet.ThisAnimals». Это приведение и позволяет использовать файл «ReportEmbeddedResource» уже созданный нами для отображения новых данных.

Результат выполнения приложения при поочередном нажатии кнопок 1 и 2 показан на Рис.22:

майкрософт репорт вивер что это

Рис.22. Использование одного ReportEmbeddedResource для вывода различных отчетов

Скачать код примеров

Распаковав скачанный файл вы найдете одну директорию, с решением, содержащим код последнего примера и файл Animals.mdb. Директорию с решением можно поместить в любое место любого жесткого диска, для последующего его открытия в Visual Studio 2005 и выше. Файл базы данных Animals.mdb должен быть помещен в директорию C:\Bases\, которую Вам придется создать. После этого Вы можете продолжить эксперименты с кодом.

Молчанов Владислав 25.11.2008г.

Источник

Интеграция служб Reporting Services с помощью элементов управления средства просмотра отчетов

Элементы управления средства просмотра отчетов можно использовать для интеграции отчетов RDL Reporting Services в приложения WebForms и WinForms. Дополнительные сведения о последних обновлениях см. в статье с описанием изменений.

Добавление элемента управления средства просмотра отчетов в новый веб-проект

Создайте новый пустой веб-сайт ASP.NET или откройте существующий проект ASP.NET.

майкрософт репорт вивер что это

Установите пакет NuGet элемента управления средства просмотра отчетов с помощью консоли диспетчера пакетов NuGet.

Добавьте в проект новую ASPX-страницу и зарегистрируйте сборку элемента управления средства просмотра отчетов для использования на странице.

Добавьте на страницу ScriptManagerControl.

Добавьте на страницу элемент управления средства просмотра отчетов. Приведенный ниже фрагмент кода можно изменить для ссылки на отчет, размещенный на удаленном сервере отчетов.

Итоговая страница должна иметь следующий вид:

Обновление имеющегося проекта для использования элемента управления средства просмотра отчетов

Обязательно обновите все ссылки на сборки до версии 15.0.0.0, в том числе файл web.config проекта и все ASPX-страницы со ссылками на элемент управления «Средство просмотра».

Пример изменений web.config

Пример ASPX

Добавление элемента управления средства просмотра отчетов в новый веб-проект Windows Forms

Создайте новое приложение Windows Forms или откройте существующий проект.

майкрософт репорт вивер что это

Установите пакет NuGet элемента управления средства просмотра отчетов с помощью консоли диспетчера пакетов NuGet.

Добавьте новый элемент управления из кода или добавьте элемент управления на панель элементов.

Способы настройки 100 % высоты для элемента управления средства просмотра отчетов

При задании значения 100 % для высоты элемента управления «Средство просмотра» необходимо установить для родительского элемента определенную высоту или настроить для всех предков процентное значение высоты.

Настройка значения высоты на 100 % для всех предков

Настройка атрибута высоты родительского элемента

Дополнительные сведения о размерах окна просмотра в процентах см. в разделе Viewport-percentage lengths (Размеры окна просмотра в процентах).

Добавление элемента управления на панель элементов Visual Studio

Элемент управления средства просмотра отчетов теперь поставляется в виде пакета NuGet и больше не отображается на панели элементов Visual Studio по умолчанию. Вы можете добавить этот элемент управления на панель элементов вручную.

Установите пакет NuGet для WinForms или WebForms, как было упомянуто выше.

Удалите элемент управления средства просмотра отчетов, указанный на панели элементов.

майкрософт репорт вивер что это

Щелкните правой кнопкой мыши где-либо на панели элементов и выберите пункт Выбрать элементы.

майкрософт репорт вивер что это

майкрософт репорт вивер что это

В установленном пакете NuGet выберите Microsoft.ReportViewer.WinForms.dll или Microsoft.ReportViewer.WebForms.dll.

Новый элемент управления должен появиться на панели элементов. При необходимости его можно переместить на другую вкладку в панели элементов.

майкрософт репорт вивер что это

Распространенные проблемы

Элемент управления «Средство просмотра» предназначено для современных браузеров. Этот элемент управления может работать некорректно, если браузер отрисовывает страницы в режиме совместимости с IE. При работе на сайтах интрасети может потребоваться метатег для переопределения поведения браузера по умолчанию.

Документация на сайте NuGet.org

Ниже приведены ссылки на статьи на сайте NuGet.org о версиях WebForm и WinForm элемента управления средства просмотра отчетов.

Отзыв на форуме

Если у вас возникли проблемы, сообщите об этом на форумах Reporting Services.

Источник

microsoft report viewer 2012 runtime

Чтобы смотреть статистику по станции(ям) по части обновлений нужен пакет : Microsoft Report Viewer 2008. Такая ошибка возникает когда переходите: Win + X — Control Panels — Administrative Tools — Update Services — Computers — All Computer и в Вашей группе(ах) щелкаете левой кнопкой мыши по компьютеру и в ответ вместо отчета получает вот такое вот сообщение об ошибке.

На заметку: данная ошибка справедлива и на системе под управлением Windows Server 2008 R2 и Windows Server 2012 R2

майкрософт репорт вивер что этоУстановить недостающее просто : нужно лишь установить дополнение именуемое, как .NET Framework через Server Manager: Dashboard — Add roles and features

майкрософт репорт вивер что это

а после для принятия изменение нужно перезагрузить сервер с ролью Windows Update, но перед этим скачать с сайта Майкрософт пакет: Microsoft Report Viewer 2008 SP1 Redistributable (English, я не использую в рабочей среде системы ориентированные на Russian интерфейс)

После чего будет доступна отчетная информация по компьютеру с указанием какие обновления поставились, а почему какие нет, но для принятия изменений необходимо перезапустить оснастку управления обновлениями и можно формировать отчет щелкнув по любому компьютеру.

На этом у меня все, я прощаюсь, с уважением автор блога Олло Александр aka ekzorchik.

Используйте прокси ((заблокировано роскомнадзором, используйте vpn или proxy)) при использовании Telegram клиента:

Поблагодари автора и новые статьи

будут появляться чаще 🙂

Карта МКБ: 4432-7300-2472-8059
Yandex-деньги: 41001520055047

Большое спасибо тем кто благодарит автора за практические заметки небольшими пожертвованиями. С уважением, Олло Александр aka ekzorchik.

This is an archive of the posts published to LessThanDot from 2008 to 2018, over a decade of useful content. While we’re no longer adding new content, we still receive a lot of visitors and wanted to make sure the content didn’t disappear forever.

When you install Visual studio 2012 RTM you get, amongst some other stupid surprises, a new version of the Microsoft reportviewer control. Hooray.

There are worst things in life, except that all my clients have reportviewer 2010 installed. But that was quickly fixed, just download the new redistributable.

Except the lastest you can find out there is the beta version.

майкрософт репорт вивер что это

And how do I know this is the same version I have on my dev machine??

майкрософт репорт вивер что это

майкрософт репорт вивер что это

As you might see those are not exactly the same version but who cares it’s such a tiny difference the RTM ends in 16 and the beta ends in 11. But I can tell you it works.

Except that this time you also have to install the sqlclrtypes perquisite.

майкрософт репорт вивер что это

Please someone at Microsoft instead of making new icons and themes and Uppercase menus, get your act together and check these things before you start sending things out. It’s not that hard, it’s called a checklist.

Oh, and there is an x86 and x64 version of the SQLSysClrTypes installer and they just happen to share the same name, joy oh joy.

Microsoft Report Viewer 2012 Runtime redistributable package DLL’s for Web based applications

Dependencies

This package has no dependencies.

GitHub Usage

This package is not used by any popular GitHub repositories.

Version History

VersionDownloadsLast updated
11.0.3452129 39705.07.2015
    last updated 05.07.2015 Project SiteContact ownersReportDownload package (3.53 MB) Open in Package Explorer

Statistics

    129 397 total downloads 129 397 downloads of current version 80 downloads per day (avg)

Owners

Authors

Share

майкрософт репорт вивер что это майкрософт репорт вивер что это майкрософт репорт вивер что это

Got questions about NuGet or the NuGet Gallery?

Find out the service status of NuGet.org and its related services.

Read the Frequently Asked Questions about NuGet and see if your question made the list.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *