Как добавить report в visual studio 2017
Я только начал писать программное обеспечение для отчетов в новой версии visual studio с именем visual studio 2017 RC, но только что заметил, что основные средства reportviewing отсутствуют как в Windows forms, так и в шаблоне приложения WPF. Может ли кто-нибудь сказать мне, почему инструмент reportviewer исчез из visual studio 2017 ? У меня действительно проблемы без него . Есть ли альтернатива для работы с этим инструментом в новой visual studio ?
обновление: Microsoft выпустила документ 18 апреля 2017 г. описание настройки и использования средства создания отчетов в Visual Studio 2017.
Visual Studio 2017 не имеет ReportViewer инструмент, установленный по умолчанию в панели инструментов. Установка расширения конструктор отчетов Microsoft Rdlc для Visual Studio а затем добавление этого в Панель инструментов приводит к невизуальному компоненту, который отображается ниже форма.
служба поддержки Microsoft сказала мне, что это ошибка, но по состоянию на 21 апреля 2017 года она "работает по плану".
следующие шаги должны быть выполнены для каждого проекта, который требует ReportViewer .
- если у вас ReportViewer в панели инструментов удалите его. Выделите, щелкните правой кнопкой мыши и удалите.
- для этого вам нужно будет иметь проект с открытой формой.
в командной строке PM > введите эту команду, дело имеет значение.
вы должны увидеть текст описание установки пакета.
теперь мы можем временно добавить ReportViewer инструмент в ящик инструментов.
щелкните правой кнопкой мыши на панели инструментов и использовать Choose Items.
нам нужно перейти к правильной DLL, которая находится в решениях Packages папка, поэтому нажмите кнопку обзора.
в нашем примере мы можем вставить в папку packages, как показано в тексте пакета Консоль Диспетчера.
затем дважды щелкните по папке с именем Microsoft.ReportingServices.ReportViewerControl.Winforms.140.340.80
номер версии, вероятно, изменится в будущем.
затем дважды щелкните на lib и снова net40 .
наконец, дважды щелкните на файле Microsoft.ReportViewer.WinForms.dll
вы должны увидеть ReportViewer в диалоге. Прокрутите вправо и вы увидите версию 14.0.0.0, связанное с ним.
ReportViewer теперь находится в панели инструментов.
перетащите инструмент в нужную форму(ы).
после завершения, удалить ReportViewer инструмент из ящика инструментов. Вы не можете использовать его с другим проектом.
вы можете сохранить проект и хорошо идти.
не забудьте перезапустите Visual Studio в любое время, когда вам нужно открыть проект с помощью ReportViewer Так что DLL загружается из правильного местоположения. Если вы попытаетесь открыть решение с помощью формы с ReportViewer без перезапуска вы увидите ошибки, указывающие на то, что " The variable 'reportViewer1' is either undeclared or was never assigned. ".
если вы добавляете новый проект в то же решение, которое вам нужно создать, сохраните решение, перезапустите Visual Studio, а затем вы сможете добавить ReportViewer в форме. Я видел, что это не работает в первый раз и показать как невизуальный компонент.
когда это произойдет, удалите компонент из формы, удалив Microsoft.ReportViewer.* ссылки из проекта, Сохранение и перезапуск обычно работают.
для меня это сработало следующими тремя шагами:
- обновление Visual Studio до последней сборки.
- добавлять Отчет / Мастер Отчетов до Добавить/Создать Элемент по:
- переход в меню Visual Studio Инструменты/Расширения и обновления
- выбрать онлайн в левой панели.
- Поиск конструктор отчетов Microsoft Rdlc для Visual Studio
- Загрузите и установите его.
добавление элемента управления просмотра отчетов:
собирается Менеджер Пакетов NuGet.
установка Microsoft.ReportingServices.ReportViewerControl.Приложения WinForms
обратите внимание, что эта процедура добавления служб reporting services, описанная @Rich Shealer выше, будет повторяться каждый раз при запуске другого проекта. Чтобы избежать этого:
Если вам может потребоваться настроить другой компьютер (например, дома без интернета), то держите загруженные установщики с рынка где-нибудь в безопасности, т. е.:
- Microsoft.DataTools.ReportingServices.VSIX-файл, и
- Microsoft.RdlcDesigner.VSIX-файл
извлеките следующие библиотеки из пакетов или папки bin приложения, созданного с помощью служб reporting services в нем:
- Microsoft.Элемент управления reportviewer.Общий.файл DLL
- Microsoft.Элемент управления reportviewer.DataVisualization.dll файлы
- Microsoft.Элемент управления reportviewer.Дизайн.dll файлы
- Microsoft.Элемент управления reportviewer.ProcessingObjectModel.dll файлы
- Microsoft.Элемент управления reportviewer.Приложения WinForms.dll файлы
установите 2 компонента из 1 выше
теперь вы хорошо идти! Значок ReportViewer будет добавлен на панель инструментов, и теперь вы также найдете шаблоны Report и ReportWizard, добавленные в общий список шаблонов, когда вы хотите добавить новый элемент. (Отчет) вашему проекту
NB: при настройке с помощью диспетчера пакетов Nuget шаблоны отчетов и ReportWizard группируются в разделе Отчеты. Используя мой описанный выше метод, однако, не добавляет группировку отчетов в установленные шаблоны, но я не думаю, что это какая-либо проблема, учитывая, что он позволяет быстро интегрировать rdlc без интернета и без загрузки того, что у вас уже есть из Nuget каждый раз!
Элементы управления средства просмотра отчетов можно использовать для интеграции отчетов RDL Reporting Services в приложения WebForms и WinForms. Дополнительные сведения о последних обновлениях см. в статье с описанием изменений.
Добавление элемента управления средства просмотра отчетов в новый веб-проект
Установите пакет 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.
Пакет NuGet будет установлен в каталоге решения. Путь к DLL будет иметь следующий вид: \packages\Microsoft.ReportingServices.ReportViewerControl.Winforms.\lib\net40 или \packages\Microsoft.ReportingServices.ReportViewerControl.WebForms.\lib\net40 .
Новый элемент управления должен появиться на панели элементов. При необходимости его можно переместить на другую вкладку в панели элементов.
Распространенные проблемы
Элемент управления "Средство просмотра" предназначено для современных браузеров. Этот элемент управления может работать некорректно, если браузер отрисовывает страницы в режиме совместимости с IE. При работе на сайтах интрасети может потребоваться метатег для переопределения поведения браузера по умолчанию.
Отзыв на форуме
Если у вас возникли проблемы, сообщите об этом на форумах Reporting Services.
The Report Viewer controls can be used to integrate Reporting Services RDL reports into WebForms and WinForms apps. For detailed information about recent updates see the changelog.
Add the Report Viewer control to a new web project
Install the Report Viewer control NuGet package via the NuGet package manager console.
Add a new .aspx page to the project and register the Report Viewer control assembly for use within the page.
Add a ScriptManagerControl to the page.
Add the Report Viewer control to the page. The snippet below can be updated to reference a report hosted on a remote report server.
The final page should look like the following.
Update an existing project to use the Report Viewer control
Make sure to update any assembly references to version 15.0.0.0, including the project's web.config and all .aspx pages that reference the viewer control.
Sample web.config changes
Sample .aspx
Add the Report Viewer control to a new Windows Forms project
Create a new Windows Forms Application or open an existing project.
Install the Report Viewer control NuGet package via the NuGet package manager console.
Add a new control from code or add the control to the toolbox.
How to set 100% height on the Report Viewer control
If setting the height of the viewer control to 100% the parent element is required to have a defined height, or all ancestors are required to have percentage heights.
Set the height of all the ancestors to 100%
Set the parent's height attribute
For more information about viewport percentage lengths, see Viewport-percentage lengths.
Add the control to Visual Studio toolbar
The Report Viewer Control is now shipped as a NuGet package and no longer shows in the Visual Studio toolbox by default. You can add the control to the toolbox manually.
Install the NuGet package for either the WinForms or WebForms as mentioned above.
Remove the Report Viewer Control that is listed in the toolbox.
Right-click in anywhere in the toolbox and then select Choose Items. .
Select the Microsoft.ReportViewer.WinForms.dll or Microsoft.ReportViewer.WebForms.dll from the NuGet package you installed.
The NuGet package will be installed in the solution directory of your project. The path to the dll will be similar to the following: \packages\Microsoft.ReportingServices.ReportViewerControl.Winforms.\lib\net40 or \packages\Microsoft.ReportingServices.ReportViewerControl.WebForms.\lib\net40 .
The new control should display within the toolbox. You can then move it to another tab within the toolbox if you wish.
Common issues
The viewer control is designed for modern browsers. The control may not work as expected if the browser renders the page using IE compatibility mode. Intranet sites may require a meta tag to override default browser behavior.
Для просмотра отчетов, развернутых на сервере отчетов, и отчетов, существующих в локальной файловой системе, можно использовать элемент управления WinForms ReportViewer для подготовки отчетов к просмотру в приложении Windows.
Добавление элемента управления ReportViewer в приложение Windows
Открыть существующий проект приложения Windows и добавить новую форму.
Укажите элемент управления ReportViewer в окне Панель элементов. Если окно Панель элементов не отображается, к нему можно получить доступ из меню Вид, выбрав пункт Панель элементов.
Перетащите элемент управления ReportViewer в область конструктора Windows Form.
В форму будет добавлен элемент управления ReportViewer с именем reportViewer1.
После добавления элемента управления в форму появляется смарт-тег Задачи ReportViewer и выводится приглашение выбрать отчет.
Если требуемый отчет развернут на сервере отчетов, выберите параметр из раскрывающегося списка Выбор отчета. После выбора параметра на экране появляются два свойства : URL-адрес сервера отчетов и Путь к отчету. Свойство URL-адрес сервера отчетов задает адрес сервера отчетов, а свойство Путь к отчету задает полный путь к подготавливаемому к просмотру отчету.
Если просматриваемый отчет является отчетом в локальном режиме, выберите параметр Создать новый отчет для запуска конструктора отчетов или отчет, который уже является частью существующего проекта.
Просмотр отчетов в режиме удаленной обработки
В следующем примере показана подготовка к просмотру отчета, развернутого на сервере отчетов при помощи элемента управления WinForms ReportViewer. В этом примере используется отчет Sales Order Detail, который включен в проект с образцами отчетов AdventureWorks2012.
Просмотр отчетов в режиме локальной обработки
В следующем примере показана подготовка к просмотру отчета, который является частью приложения Windows и не был помещен на сервер отчетов.
Добавление отчета «Сведения о заказе на продажу» в приложение Windows
Открыть проект Windows, в который будет добавлен отчет.
В меню Проект выберите пункт Добавить существующий элемент.
Перейти в папку, в которой были установлены проекты образцов отчетов AdventureWorks2012.
Чтобы скачать примеры отчетов, перейдите в раздел Примеры отчетов AdventureWorks 2012.
Выберите файл Sales Order Detail.rdl и нажмите кнопку Добавить.
Файл «Сведения о заказе на продажу.rdl» теперь станет частью проекта.
Щелкните правой кнопкой мыши файл Sales Order Detail.rdl в обозревателе решений и выберите команду Переименовать. Переименуйте отчет в Сведения о заказах на продажу.rdlc и нажмите клавишу ВВОД.
Если обозреватель решений не отображается, его можно открыть из меню Вид, выбрав пункт Обозреватель решений.
Переименование расширения из rdl в rdlc позволит редактировать отчет при помощи конструктора отчетов для MicrosoftVisual Studio 2005.
После переименования отчета выберите файл и перейдите в окно «Свойства». Для свойства Копировать в выходной каталог задайте значение Копировать более новые.
Если окно Свойства не отображается, можно открыть его из меню Вид, выбрав Окно "Свойства" .
В следующем примере кода создается набор данных для данных о заказе на продажу, а затем подготавливается к просмотру отчет «Сведения о заказе на продажу» в локальном режиме.
I just started to write reporting software in new version of visual studio named visual studio 2017 RC but just noticed that core reportviewing tools is missing from both windows forms and WPF application template. Can anyone tell me why the reportviewer tool is disappeared from visual studio 2017 ? Really having trouble without it . Is there any alternate to work with this tool in new visual studio ?
5 Answers 5
Microsoft has released a new version of the control 150.1400.0 in their Nuget library. My short testing shows that it works again in the forms designer where 150.1357.0 and 150.1358.0 did not. This includes being able to resize and modify the ReportViewer Tasks on the control itself.
Removing the latest version and rolling back to 150.900.148.0 seems to work on multiple computers I'm using with VS2017 and VS2019.
You can roll back to 150.900.148 in the Nuget solution package manager. It works similarly to the previous versions. Use the drop down box to select the older version.
It may be easier to manually delete references to post 150.900 versions of ReportViewer and readd them than it is to fix them.
Remember to restart Visual Studio after changing the toolbox entry.
Update: 8/7/2019
A newer version of the ReportViewer control has been released, probably coinciding with Visual Studio 2019. I was working with V150.1358.0.
Following the directions in this answer gets the control in the designer's toolbox. But once dropped on the form it doesn't display. The control shows up below the form as a non-visual component.
This is working as designed according to Microsoft SQL BI support. This is the group responsible for the control.
While you still cannot interact with the control directly, these additional steps give a workaround so the control can be sized on the form. While now visible, the designer treats the control as if it didn't exist.
I've created a feedback request at the suggestion of Microsoft SQL BI support. Please consider voting on it to get Microsoft's attention.
- After adding the reportviewer to the WinForm
- Add a Panel Control to the WinForm.
In the form's form.designer.cs file, add the Reportviewer control to the panel.
Return to the form's designer, you should see the reportViewer on the panel
Now you can position the reportViewer by actually interacting with the panel.
Update: Microsoft released a document on April 18, 2017 describing how to configure and use the reporting tool in Visual Studio 2017.
Visual Studio 2017 does not have the ReportViewer tool installed by default in the ToolBox. Installing the extension Microsoft Rdlc Report Designer for Visual Studio and then adding that to the ToolBox results in a non-visual component that appears below the form.
Microsoft Support had told me this is a bug, but as of April 21, 2017 it is "working as designed".
The following steps need to be followed for each project that requires ReportViewer .
- If you have ReportViewer in the Toolbox, remove it. Highlight, right-click and delete.
- You will have to have a project with a form open to do this.
Edited 8/7/2019 - It looks like the current version of the RDLC Report Designer extension no longer interferes. You need this to actually edit the reports.
If you have the Microsoft Rdlc Report Designer for Visual Studio extension installed, uninstall it.
Close your solution and restart Visual Studio. This is a crucial step, errors will occur if VS is not restarted when switching between solutions.
At the PM> prompt enter this command, case matters.
You should see text describing the installation of the package.
Now we can temporarily add the ReportViewer tool to the tool box.
Right-click in the toolbox and use Choose Items.
We need to browse to the proper DLL that is located in the solutions Packages folder, so hit the browse button.
In our example we can paste in the packages folder as shown in the text of Package Manager Console.
Then double click on the folder named Microsoft.ReportingServices.ReportViewerControl.Winforms.140.340.80
The version number will probably change in the future.
Then double-click on lib and again on net40 .
Finally, double click on the file Microsoft.ReportViewer.WinForms.dll
You should see ReportViewer checked in the dialog. Scroll to the right and you will see the version 14.0.0.0 associated to it.
ReportViewer is now located in the ToolBox.
Drag the tool to the desired form(s).
Once completed, delete the ReportViewer tool from the tool box. You can't use it with another project.
You may save the project and are good to go.
Remember to restart Visual Studio any time you need to open a project with ReportViewer so that the DLL is loaded from the correct location. If you try and open a solution with a form with ReportViewer without restarting you will see errors indicating that the “ The variable 'reportViewer1' is either undeclared or was never assigned. “.
If you add a new project to the same solution you need to create the project, save the solution, restart Visual Studio and then you should be able to add the ReportViewer to the form. I have seen it not work the first time and show up as a non-visual component.
When that happens, removing the component from the form, deleting the Microsoft.ReportViewer.* references from the project, saving and restarting usually works.
Читайте также: