在WPF中显示SSRS报告

时间:2018-12-20 22:36:04

标签: c# wpf reporting-services

我正在尝试从SQL Server Reporting Services获取报告以显示在WPF应用程序中。该服务器具有SQL Server 2014。

我在示例中看到的,我在XAML中添加了一个ReportViewer:

<Window x:Class="WPFReport.MainWindow"
    ...
    xmlns:rv="clr-namespace:Microsoft.Reporting.WinForms;assembly=Microsoft.ReportViewer.WinForms"
    Title="MainWindow" Height="500" Width="850">

    ...

    <WindowsFormsHost>
        <rv:ReportViewer x:Name="_reportViewer" />
    </WindowsFormsHost>

    ...

</Window>

我到处都看到的将ReportViewer连接到报表的代码如下:

public MainWindow()
{
    InitializeComponent();

    _reportViewer.Load += ReportViewer_Load;
}

private void ReportViewer_Load(object sender, EventArgs e)
{
    if(!_isReportViewerLoaded)
    {
        _reportViewer.ProcessingMode = ProcessingMode.Remote;
        _reportViewer.ServerReport.ReportServerUrl = 
            new Uri("http://{MyReportServer}/ReportServer/");
        _reportViewer.ServerReport.ReportPath = "/Reports/{MyReportName}.rdl";

        _reportViewer.RefreshReport();

        _isReportViewerLoaded = true;
    }
}

但是,我尝试访问的报告似乎以不同的方式访问。

我可以通过浏览器中的ReportViewer.aspx文件来访问它:

http://{MyReportServer}/ReportServer/Pages/ReportViewer.aspx?%2f{MyReportName}

是否可以在ReportViewer中访问我的报告?

1 个答案:

答案 0 :(得分:0)

尝试了几种格式后,这似乎可以工作:

_reportViewer.ProcessingMode = ProcessingMode.Remote;
_reportViewer.ServerReport.ReportServerUrl = new Uri("http://{MyReportServer}/ReportServer");
_reportViewer.ServerReport.ReportPath = "/{MyReportName}";

_reportViewer.RefreshReport();
相关问题