页面
<Grid>
<WindowsFormsHost x:Name="windowsFormsHost1" Margin="0,10,0,0" Background="White">
<rp:ReportViewer Name="rpViewer" Dock="Fill" ZoomMode="PageWidth" PageCountMode="Actual"/>
</WindowsFormsHost>
</Grid>
后台
rep1 = windowsFormsHost1.Child as ReportViewer;
rep1.ProcessingMode = ProcessingMode.Remote;
serverReport = rep1.ServerReport;
// 获得服务器证书
ReportServerCredentials rsCredentials =
serverReport.ReportServerCredentials;
//用户账户密码
if (string.IsNullOrEmpty(reportInfo.ReportServerBrowserName) || string.IsNullOrEmpty(reportInfo.ReportServerBrowserPassword))
{
rsCredentials.NetworkCredentials = System.Net.CredentialCache.DefaultCredentials;
}
else
{
rsCredentials.NetworkCredentials = new NetworkCredential(reportInfo.ReportServerBrowserName, reportInfo.ReportServerBrowserPassword);
}
// 设置报表服务地址和路径
serverReport.ReportServerUrl = new Uri(reportInfo.ReportServerIpAddress);
serverReport.ReportPath = reportInfo.ReportPath;
// 设置报表的参数 :用户ID
if (serverReport.GetParameters().FirstOrDefault(p => p.Name == "UserID") != null)
{
serverReport.SetParameters(new ReportParameter("UserID", Authentication.UserID.ToString()));
}
//刷新报表
rep1.RefreshReport();
顺便说一下,据说之前是可以用的,浏览器访问发布的报表也是可以浏览报表数据,就是再wpf运行的时候不报异常也显示不出来报表内容,甚至鼠标放在页面是有上下页提示的,下图
另外 之前好像是vs的旧版本 win7的系统 我现在本地是win10和vs2015,不知道是不是这些差异导致的,实在找不到原因了,跪求解决
其实已经呈现了 但是就是显示不出来
我再做页面显示的时候也有遇到这样的情况 重新加载一下项目就没有上述情况了 不知道这种方法最你是否管用
vs卸载项目再加载项目么。我试了还是老样子,不过谢谢了,至少给我回复了
看这样子,应该是页面没刷新UI导致的。太久没做wpf一类的了,看看有没有updateLayout或refresh之类的方法没有。
如果实在无法解决,可以考试嵌套一个webbrowser来试试,如果你用的 ReportingService的话,不过这完全是个叟主意。
@沧海一杰: rep1.RefreshReport();已经刷新了 55555555
楼主最后解决没?我也遇到这个问题了,主窗体透明,窗体中有一个Frame,在导航Page中加载一个ReportViewer控件,啥都看不到,实际上已经加载上去了
好久不上了,我解决了,重新部署了服务端