提问人:siwa86 提问时间:10/30/2023 更新时间:11/2/2023 访问量:26
如何在带有 VB.NET 的 rdlc 报告中一次性使用不同的标题设置打印多个参数
How to set parameters with print multiple in one go with different headings in rdlc report with VB.NET
问:
我正在尝试使用带有 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
答:
0赞
HardcoreGamer
11/2/2023
#1
参数只有一个值,第二次添加时会覆盖。
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
评论