#c# #report
#c# #Сообщить
Вопрос:
Есть ли простой способ запустить файл .rdl, программно указав его параметры, но без добавления набора данных и файла .rdl в ваш проект. После этого отчет должен быть сохранен в виде файла (word, pdf).
ReportViewer reportViewer = new ReportViewer();
reportViewer.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Local;
reportViewer.LocalReport.ReportPath = @"Path for my local report";
ReportParameter[] repParameters = new ReportParameter[1];
repParameters[0] = new ReportParameter();
repParameters[0].Name = "Batch";
repParameters[0].Values.Add("Test");
Как я могу добавить строку подключения и сохранить файл? Есть предложения?
Ответ №1:
Есть свойство reportViewer.LocalReport.DataSources
. Это будет содержать ваши источники данных времени разработки, если таковые имеются. Вы можете очистить его, добавить новый ReportDataSource
и установить его .Value = new DataTable()
и .Name = "<NameTheReportItemExpects>"
. Таким образом, вы можете создать DataTable
полностью в коде.
Ответ №2:
Если это так, лучший способ — настроить службу отчетов SQL Server (локально или удаленно). Быстрее создавайте и разрабатывайте свой отчет с помощью SSDT (SQL Server Data Tools). Затем разверните все свои отчеты на сервере отчетов SSRS. Затем предоставьте свои учетные данные вашему серверу отчетов (локальному или удаленному) :
ReportViewer1.ProcessingMode = ProcessingMode.Remote;
IReportServerCredentials irsc =new CustomReportCredentials("administrator", "MYpassworw", "mydomain");
ReportViewer1.ServerReport.ReportServerCredentials = irsc;
ReportViewer1.ServerReport.ReportServerUrl = new Uri("http://192.168.0.1/ReportServer/");
ReportViewer1.ServerReport.ReportPath = "/autonarudzba/listanarudzbi";
ReportViewer1.ServerReport.Refresh();
Теперь вы можете видеть, что нет необходимости предоставлять какие-либо источники данных или наборы данных.
для настройки сервера отчетов, пожалуйста, воспользуйтесь этой ссылкой:
https://www.sqlshack.com/sql-server-reporting-service-configuration-manager /
Это лучший подход к работе с SSRS, поскольку этот метод сэкономит вам массу времени, плюс ваши отчеты будут отображаться изначально сервером. Я надеюсь, что это поможет.