Отчеты с помощью Microsoft Viewer

Как создать параметризованные отчеты с помощью Microsoft Report Viewer?

3 ответа

Укажите больше вопросов в своем вопросе, но, насколько я понимаю, элементы управления MSDN ReportViewer будут очень полезны, если вы узнаете больше сами.

Во-первых, я бы избежал контроля средства просмотра отчетов Microsoft. Просто используйте элемент управления браузера и перейдите к отчету, передав параметры в URL-адресе, как при использовании браузера.

Это намного лучше по многим причинам.

  1. В MS Report Viewer Control есть много ошибок, с которыми вы будете зависать.
  2. Браузер и средство просмотра отчетов отображают отчеты по-разному (слегка), например, с полями и т. Д. Поэтому вам придется настраивать большинство отчетов, если вы когда-нибудь переключитесь на веб-приложение и вам понадобится браузер для доступа к отчетам. Это подводит меня к следующему вопросу.,,
  3. Если вам когда-либо понадобится перейти в веб-приложение, вам нужно будет переопределить способ вызова отчетов, передачи параметров и т. Д., А не просто использовать функциональность браузера, которую вы уже создали (вы получаете доступ к отчетам по-разному, используя элемент управления и элемент управления). браузер)

В противном случае, если вы действительно хотите использовать элемент управления Report Viewer, вот пример (с использованием.NET 2.0):

    ReportViewer rvReportViewerControl = new ReportViewer();
   rvReportViewerControl.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Remote;
    rvReportViewerControl.ServerReport.ReportServerUrl = new Uri("http://<SERVERNAME>/ReportServer");
    rvReportViewerControl.ServerReport.ReportPath = "<FOLDER PATH TO REPORTS>");
    rvReportViewerControl.ShowParameterPrompts = false;
    Microsoft.Reporting.WinForms.ReportParameterInfoCollection rpInfoCollection = rvReportViewerControl.ServerReport.GetParameters();
    if (rpInfoCollection.Count > 0)
    {
         List<ReportParameter> paramList = new List<ReportParameter>();

         foreach (ReportParameterInfo reportParameter in rpInfoCollection)
         {
              string parameterName = reportParameter.Name.ToString();
              string parameterValue = "";
              bool isParameterVisible = reportParameter.Visible;
              paramList.Add(new ReportParameter(parameterName, parameterValue, isParameterVisible));
         }

         rvReportViewerControl.ServerReport.SetParameters(paramList);
    }

    rvReportViewerControl.RefreshReport();

На этом сайте много полезной информации.

Другие вопросы по тегам