动态设置reportviewer表头值

时间:2014-01-16 11:30:30

标签: vb.net reportviewer

我在vb.net中使用reportviewer控件来创建本地报告。 我有一个表,其中动态生成标头的值。我想在每个页面重复表头。问题是,我只能在标题中插入静态文本。有没有办法使用代码设置标头值?

1 个答案:

答案 0 :(得分:0)

  1. 创建一个数据集(DataSet1),指向包含必要参数(Parameter1)的报表数据。这适用于您的参数也会影响拉取报表数据的SQL语句的情况(在这种情况下,命令字符串可能类似于:来自myTable的SELECT *,其中myField< =:Parameter1)。

  2. 创建一个使用DataSet1并具有名为ReportParameter1

    的参数的报告
  3. 使用以下代码:

    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

  4. SOURCE

    注意:我不知道为什么,但StackOverFlow不会给我一个代码阅读器。