ReportViewer未显示报告-URL问题
本文关键字:-URL 问题 报告 显示 ReportViewer | 更新日期: 2023-09-27 18:20:36
我有这个:
<Window>
<ContentPresenter Content="{Binding Viewer}" />
</Window>
internal class MainViewModel : ObservableObject{
private WindowsFormsHost _viewer;
public WindowsFormsHost Viewer
{
get { return _viewer; }
set { Set(() => Viewer, ref _viewer, value); }
}
public MainViewModel()
{
_viewer = new WindowsFormsHost();
var reportViewer = new ReportViewer();
reportViewer.ProcessingMode = ProcessingMode.Remote;
reportViewer.ServerReport.ReportServerUrl = new Uri("http://someservername/Reports/Pages/Folder.aspx");
reportViewer.ServerReport.ReportPath = "ItemPath=/somefolder1/somefolder2/ReportX";
Viewer.Child = reportViewer;
}
}
我可以在窗口顶部看到一个禁用的报告服务工具栏,但没有报告。我试过为ReportPath和ReportServerUrl分配各种字符串,但什么都没有。这是URL问题吗?当然,如果我把URL放进浏览器,它就能工作。谢谢
我也面临同样的问题。我不确定这是否适用于你,但就我而言,代码Var reportViewer = new ReportViewer
中的行必须移动到xaml,例如
<WindowsFormsHost DockPanel.Dock="Top" Background="White">
<rv:ReportViewer
x:Name="_ReportViewer"
ReportRefresh="CreateStatement"
BackColor="White"
BorderStyle="None"
></rv:ReportViewer>
</WindowsFormsHost>
现在,我真的不知道它为什么会这样。
我知道这是一个非常古老的问题,但更多的是寻找未来发现相同错误的人,而我只是发现并解决了相同的错误。。。
您需要引入reportViewer类的函数调用RefreshReport。像这样:
public MainViewModel()
{
_viewer = new WindowsFormsHost();
var reportViewer = new ReportViewer();
reportViewer.ProcessingMode = ProcessingMode.Remote;
reportViewer.ServerReport.ReportServerUrl = new Uri("http://someservername/Reports/Pages/Folder.aspx");
reportViewer.ServerReport.ReportPath = "ItemPath=/somefolder1/somefolder2/ReportX";
reportviewer.RefreshReport();
Viewer.Child = reportViewer;
}