Отобразить отчет SSRS в WPF - PullRequest
0 голосов
/ 21 декабря 2018

Я пытаюсь получить отчет из служб отчетов SQL Server для отображения в приложении WPF.На сервере установлен SQL Server 2014.

Я добавил ReportViewer в свой XAML, как я видел в примерах:

<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 к отчету, похож наthis:

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.aspxfile:

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

Есть ли способ получить доступ к моему отчету в ReportViewer?

1 Ответ

0 голосов
/ 21 декабря 2018

После опробования нескольких форматов, это похоже на работу:

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

_reportViewer.RefreshReport();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...