Отчеты с использованием Microsoft Viewer - PullRequest
0 голосов
/ 27 октября 2009

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

Ответы [ 3 ]

0 голосов
/ 07 февраля 2011
0 голосов
/ 07 февраля 2011

Во-первых, я бы избежал контроля средства просмотра отчетов 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();

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

0 голосов
/ 27 октября 2009

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

...