根据vb.net中传递的参数过滤rdlc报告数据

时间:2015-03-26 07:19:53

标签: asp.net vb.net rdlc

Try
Dim ed As New Editor()
Using con As New SqlConnection("Data Source=.\SQLEXPRESS;Initial Catalog=LMS ;Integrated Security=True")
con.Open()
Dim cmd As New SqlCommand("select * from Editor", con)

Dim da As New SqlDataAdapter(cmd)
da.Fill(ed, "DataTable1")
con.Close()
End Using

ReportViewer1.ProcessingMode = ProcessingMode.Local
ReportViewer1.LocalReport.ReportPath = Server.MapPath("~/Report.rdlc")
Dim parReportParam1 As New ReportParameter("Parameter1", Me.txtLan.Text.ToString())
Me.ReportViewer1.LocalReport.SetParameters(New ReportParameter() {
  parReportParam1
})
Dim datasource As New ReportDataSource("Editor", ed.Tables(0))
ReportViewer1.LocalReport.DataSources.Clear()
ReportViewer1.LocalReport.DataSources.Add(datasource)
Me.ReportViewer1.LocalReport.Refresh()

Catch ex As Exception

End Try

我无法从我的数据集中获取任何数据,在向report.rdlc添加参数后显示空的报表查看器

1 个答案:

答案 0 :(得分:1)

 Protected Sub bSubmit_Click(ByVal sender As Object, ByVal e As EventArgs) Handles bSubmit.Click
 ReportViewer1.ProcessingMode = ProcessingMode.Local
 ReportViewer1.LocalReport.ReportPath = Server.MapPath("~/Report.rdlc")
 Dim ed As New Editor()
 Using con As New SqlConnection("Data Source=.\SQLEXPRESS;Initial Catalog=LMS ;Integrated Security=True")
 con.Open()
 Dim cmd As New SqlCommand("select * from Editor where ([Language] = @Lang)", con)
 cmd.Parameters.AddWithValue("@Lang", txtLan.Text)
 Dim da As New SqlDataAdapter(cmd)
 da.Fill(ed, "DataTable1")
 con.Close()
 End Using
 Dim datasource As New ReportDataSource("Editor", ed.Tables(0))
 ReportViewer1.LocalReport.DataSources.Clear()
 ReportViewer1.LocalReport.DataSources.Add(datasource)
 End Sub
 End Class

相关问题