加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – ReportViewer 2010不从代码加载数据源

发布时间:2020-12-16 06:29:32 所属栏目:asp.Net 来源:网络整理
导读:我在ASP.NET中创建了一个带有简单RDLC报告的项目,当我在设计时使用SqlDataSource绑定报表的DataSource时,一切正常.但是,如果我删除绑定并尝试从代码设置DataSource,那么报告似乎永远不会停止加载. 我以前在WinForms应用程序上使用过这个并没有问题,但这是我
我在ASP.NET中创建了一个带有简单RDLC报告的项目,当我在设计时使用SqlDataSource绑定报表的DataSource时,一切正常.但是,如果我删除绑定并尝试从代码设置DataSource,那么报告似乎永远不会停止加载.

我以前在WinForms应用程序上使用过这个并没有问题,但这是我第一次尝试在ASP.NET中做到这一点,没有运气.

这是我用于在Page_Load事件中设置DataSource的代码.正如我所说的使用相同的SqlDataSource,如果它绑定在.aspx页面中.

ReportViewer1.Reset()
ReportViewer1.ProcessingMode = ProcessingMode.Local
ReportViewer1.LocalReport.ReportPath = Server.MapPath("Report.rdlc")
ReportViewer1.LocalReport.DataSources.Clear()
ReportViewer1.LocalReport.DataSources.Add(New ReportDataSource("DataSet1",SqlDataSource1))
ReportViewer1.LocalReport.Refresh()

即使我直接在reportviewer控件中设置了报表,也只是将代码切换为…

ReportViewer1.LocalReport.DataSources.Clear()
ReportViewer1.LocalReport.DataSources.Add(New ReportDataSource("DataSet1",SqlDataSource1))
ReportViewer1.LocalReport.Refresh()

……它仍然是一样的.

此外,在加载报表时,在Visual Studio中,您可以看到正在不断生成大量脚本块(列表框不断增长):

在这种情况下,加载微调器正在中途转动,重新启动并重复.该页面没有重新加载.

有什么想法吗?

解决方法

好的,就像你发布问题后不久一样,你找到了解决方案.

解决方案是确保仅在页面不是回发时才执行DataSource的设置.简而言之,将代码块包装在:

If Not Page.IsPostBack Then

    <set datasource here>

End If

我想这是因为reportviewer的AJAX性质?如果有人能够阐明为什么会这样,我会有兴趣听到它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读