0

我在我的 vb 项目中遇到了一个问题,因为从主题来看,很明显我在以一种形式在一个报表查看器中指定多个报表时遇到了问题。很难创建多个表单并在每个表单中添加报表查看器。

我有超过 100 个reports.rdlc,并希望通过在组合框中选择多个选项或不同的标准来在一个报表查看器中显示它。

4

3 回答 3

3

如果您希望每次更改组合框中的报告时都显示相同的表单窗口,只需在每次生成 .rdlc 报告时创建该表单的新实例。


Button1 点击

单击此按钮时,它将创建两个报告。一份报告将由该方法生成,YourFirstReport()另一份由YourSecondReport(). 两者都使用同一表单中的相同 ReportViewer1 控件,并使用rv.

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    'Create instance "rv" of your report viewer form
    Dim rv As New frmReportViewer
    rv.YourFirstReport()

    rv = New frmReportViewer
    rv.YourSecondReport()
End Sub

rv.YourFirstReport()

Public Sub YourFirstReport()
    ReportViewer1.LocalReport.ReportEmbeddedResource = "YourProject.YourFirstReportName"
    '...
    'And so on..
End Sub

rv.YourSecondReport()

Public Sub YourSecondReport()
    ReportViewer1.LocalReport.ReportEmbeddedResource = "YourProject.YourSecondReportName"
    '...
    'And so on..
End Sub

以我的例子为例,红色方块有一个按钮,frmReportViewer每次点击它都会生成我的。绿色圆圈显示我弹出的报告。这两个报告都使用相同的表格。 1 种形式的多份报告

于 2013-05-27T12:57:22.010 回答
0

正如tezzo所说,

    ReportViewer1.LocalReport.DataSources.Clear()
    ReportViewer1.LocalReport.ReportPath = "Report2.rdlc"
    ReportViewer1.LocalReport.DataSources.Add(New Microsoft.Reporting.WebForms.ReportDataSource("DataSet1", CType(d1, DataTable)))
    ReportViewer1.LocalReport.SetParameters(New Microsoft.Reporting.WebForms.ReportParameter("ReportCriteria", criteria))
    ReportViewer1.LocalReport.SetParameters(New Microsoft.Reporting.WebForms.ReportParameter("FileDate", fileDateString))
    ReportViewer1.Visible = True
    ReportViewer1.DataBind()

将 localreport 报告路径更改为不同的报告名称是您真正需要的。

于 2014-10-02T22:25:03.090 回答
0

您可以创建一个 ReportViewer 并在运行时设置他的属性:

  • rldc 文件的路径:.LocalReport.ReportPath
  • 报告数据源:.LocalReport.DataSources
  • 报告参数:.LocalReport.SetParameters
  • 其他属性:例如.LocalReport.EnableExternalImages

然后你可以.RefreshReport()

于 2013-05-27T07:41:56.487 回答