如何以编程方式更改报表查看器的报表源

How can I programmatically change the report source of my report viewer

我创建了一个显示不同类型报告的网络应用程序。所以基本上我这里的参数是报告样式。用户将 select 报告样式,然后报告将根据 selected 样式加载。

所以我创建了 7 种不同设计的报告。我的问题是,如何以编程方式更改报表查看器的报表源,以便每次用户 select 不同的报表样式时,报表查看器都会调用该报表。

例如:

如果我 select STYLE A,报表查看器将加载 report1。 如果我 select STYLE B,报表查看器将加载 report2。 如果我 select STYLE C,报表查看器将加载 report3。 等等...

根据参数隐藏/取消隐藏报表上的元素?

我有一些报告会显示各种不同的数据,并且用户有一些参数我只是根据表达式隐藏 Tablix。

像这样:参数有 3 个选项视图 a、b、c

在 tablix 中查看转到属性并转到可见性菜单并添加和表达

Parameter!view.Value = a

这将使 tablix 可见。

您可以对所有视图和相应的数据集执行此操作(只需在 where 子句中添加 @view = 'a' 以在未选择参数时停止查询执行)

希望对问题有所帮助

尝试声明一个接受 ReportStyle 参数的变量。如果您的网络服务有参数 ReportStyle (String),请在您的 Visual Basic 代码中声明此代码。

TypeReportSource - 表示允许从 AssemblyQualifiedName 实例化报表文档的报表源。

点击here了解更多信息。

Dim typeReportSource As New Telerik.Reporting.TypeReportSource()
Dim ReportStyle as String


if ReportStyle = "A" then
    typeReportSource.TypeName = GetType(SampleReport).AssemblyQualifiedName
    ReportViewer1.ReportSource = typeReportSource
end if

请注意,SampleReport 是您创建的报告的名称,默认情况下名为 "Report1"。