A、引用ReportViewer的命名空间
<UserControl x:Class="CMRESTPORTAL.Reports"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:wf="clr-namespace:Microsoft.Reporting.WinForms;assembly=Microsoft.ReportViewer.WinForms" //很关键的一句哦
Height="Auto" Width="Auto">
</UserControl>
B、添加WindowsFormsHost控件
<Grid>
< WindowsFormsHost Name="ReportsHost">
< wf:ReportViewer Name="BuildReport">
< /wf:ReportViewer>
< /WindowsFormsHost>
</Grid>
C、添加相关代码,显示报表
public Reports()
{
InitializeComponent();
Microsoft.Reporting.WinForms.ReportViewer rep = ReportsHost.Child as Microsoft.Reporting.WinForms.ReportViewer;
rep.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Remote; //远程模式
Uri uri = new Uri("http:/reportserver"); //report所在的report server
rep.ServerReport.ReportServerUrl = uri;
rep.ServerReport.ReportPath = "/ReportFolder/BuildReportForQuery"; //report所在的路径
rep.RefreshReport(); //Calling the RefreshReport method causes all data in the report to be reloaded and rendered.
}