我在vb.net中使用reportviewer控件来创建本地报告。 我有一个表,其中动态生成标头的值。我想在每个页面重复表头。问题是,我只能在标题中插入静态文本。有没有办法使用代码设置标头值?
答案 0 :(得分:0)
创建一个数据集(DataSet1),指向包含必要参数(Parameter1)的报表数据。这适用于您的参数也会影响拉取报表数据的SQL语句的情况(在这种情况下,命令字符串可能类似于:来自myTable的SELECT *,其中myField< =:Parameter1)。
创建一个使用DataSet1并具有名为ReportParameter1
的参数的报告使用以下代码:
Dim rds As New ReportDataSource Dim oTableAdapter As New DataSet1TableAdapters.yourTableAdapter Dim m_DataSet = New yourProjectName.DataSet1
oTableAdapter.Connection.ConnectionString =您的连接字符串
oTableAdapter.Fill(m_DataSet.Tables(0),TextBox1.Text)
rds.Name = m_DataSet.DataSetName rds.Value = m_DataSet.Tables(0)
ReportViewer1.KeepSessionAlive = True 使用ReportViewer1.LocalReport .DataSources.Clear() .DataSources.Add(RDS) .REFRESH() .SetBasePermissionsForSandboxAppDomain(New PermissionSet(PermissionState.Unrestricted))
结束m_DataSet.Dispose() m_DataSet =没什么 oTableAdapter.Dispose() oTableAdapter = Nothing
将myParam变暗为新报告参数(“ReportParameter1”,TextBox1.Text) ReportViewer1.LocalReport.SetParameters(myParam)
rds =没什么 myParam = Nothing
注意:我不知道为什么,但StackOverFlow不会给我一个代码阅读器。