我正在尝试使用 VB.NET 在 rdlc 报告中一次性打印多个不同标题的参数 我有下面的代码。 我尝试使用下面的代码,只得出结果
COPY1
请指导我
谢谢
谢谢
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Private Sub original()
Dim table As New DataTable()
table.Columns.Add("value", GetType(String))
table.Columns.Add("price", GetType(String))
table.Columns.Add("quantity", GetType(Double))
table.Rows.Add("test1", "10", "20")
table.Rows.Add("test2", "10", "20")
Dim reportDataSource1 = New ReportDataSource("DataSet1", table)
Me.ReportViewer1.LocalReport.DataSources.Clear()
Dim reportParameters As New ReportParameterCollection()
reportParameters.Add(New ReportParameter("paramHeader", "ORIGINAL"))
Me.ReportViewer1.LocalReport.SetParameters(reportParameters)
Me.ReportViewer1.LocalReport.DataSources.Add(reportDataSource1)
Me.ReportViewer1.LocalReport.ReportEmbeddedResource = "Datatable_in_ReportViewer.Report1.rdlc"
Me.ReportViewer1.RefreshReport()
End Sub
Private Sub copy1()
Dim table As New DataTable()
table.Columns.Add("value", GetType(String))
table.Columns.Add("price", GetType(String))
table.Columns.Add("quantity", GetType(Double))
table.Rows.Add("test1", "10", "20")
table.Rows.Add("test2", "10", "20")
Dim reportDataSource1 = New ReportDataSource("DataSet1", table)
Me.ReportViewer1.LocalReport.DataSources.Clear()
Dim reportParameters As New ReportParameterCollection()
reportParameters.Add(New ReportParameter("paramHeader", "COPY1"))
Me.ReportViewer1.LocalReport.SetParameters(reportParameters)
Me.ReportViewer1.LocalReport.DataSources.Add(reportDataSource1)
Me.ReportViewer1.LocalReport.ReportEmbeddedResource = "Datatable_in_ReportViewer.Report1.rdlc"
Me.ReportViewer1.RefreshReport()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
original()
copy1()
End Sub
End Class
参数只有单一值,第二次添加时会覆盖。
reportParameters.Add(New ReportParameter("paramHeader", "ORIGINAL"))
reportParameters.Add(New ReportParameter("paramHeader", "COPY1"))
相反,您可以尝试添加一个新列
Copys
以将同一个表中的两个数据分组,其值为 ORIGINAL
和 Copy1
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles
MyBase.Load
End Sub
Private Sub original(ByRef table as DataTable))
table.Rows.Add("original","test1", "10", "20")
table.Rows.Add("original","test2", "10", "20")
End Sub
Private Sub copy1(ByRef table as DataTable)
table.Rows.Add("copy1","test1", "10", "20")
table.Rows.Add("copy1","test2", "10", "20")
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim table As New DataTable()
table.Columns.Add("Copys", GetType(String))
table.Columns.Add("value", GetType(String))
table.Columns.Add("price", GetType(String))
table.Columns.Add("quantity", GetType(Double))
original(table)
copy1(table)
Dim reportDataSource1 = New ReportDataSource("DataSet1", table)
Me.ReportViewer1.LocalReport.DataSources.Clear()
Dim reportParameters As New ReportParameterCollection()
Me.ReportViewer1.LocalReport.SetParameters(reportParameters)
Me.ReportViewer1.LocalReport.DataSources.Add(reportDataSource1)
Me.ReportViewer1.LocalReport.ReportEmbeddedResource = "Datatable_in_ReportViewer.Report1.rdlc"
Me.ReportViewer1.RefreshReport()
End Sub
End Class
您将需要编辑 .rdlc 报告表并按新列对其进行分组
Copys