2016-12-07 59 views
0

在過去的兩天裏,我一直在試圖讓這份報告生效。我經歷了很多網站,但是我仍然無法讓這份報告生效。讓.rdlc與數據集和報表查看器一起工作

下面是我所採取的步驟:

  • 創建新的應用程序

  • 新增ReportViewer1

  • 新增Report1.rdlc

  • 創建一個新的數據集名爲DS1 - 哪裏我連接到Sql SErver,並抓取所有必要的表格。

  • 創建一個參數文本框/表

    • 對於ReportViewer1 - 改變了報告源WindowsApplication.Report1.Rdlc

    • 另外改變(reportViewer1)的源代碼DS1

    • 在buttonClick下添加下面的代碼在buttonClick下


Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 

    Dim params(0) As Microsoft.Reporting.WinForms.ReportParameter 
    params(0) = New Microsoft.Reporting.WinForms.ReportParameter("ReportParameter1", "HELLOOOOOOOOOOOOO") 
    ReportViewer1.LocalReport.SetParameters(params) 

    'Get Data 
    Dim ReportDS As DataSet = GetData() 
    Dim rds As ReportDataSource = New ReportDataSource("DS1", ReportDS.Tables(0)) 
    ReportViewer1.LocalReport.DataSources.Clear() 
    ReportViewer1.LocalReport.DataSources.Add(rds) 
    ReportViewer1.RefreshReport() 

    Me.ReportViewer1.RefreshReport() 

End Sub 

Public Function GetData() As DataSet 

    Dim ds As New DataSet 
    Dim adapter As SqlDataAdapter 
    Conn.Open() 
    Dim sql As String = "Select FirstN, LastN from tblCustomers" 

    adapter = New SqlDataAdapter(sql, Conn) 
    adapter.Fill(ds) 

    Return ds 

End Function 

請人點我在正確的方向 - 我不知道我做錯了!

如果我這樣做只是ReportParameter1 - 我可以看到在報告查看器中的「HELLOOO」所以我知道這樣的作品,但添加數據和諸如此類的東西它不工作我得到的是錯誤....

的數據源實例尚未提供的數據集1

+0

如果更改此行'昏暗的RD作爲ReportDataSource =新ReportDataSource它的工作原理( 「DS1」,ReportDS.Tables(0))''到昏暗RD作爲ReportDataSource =新ReportDataSource(「DataSet1」,ReportDS.Tables(0))' – Tuco

+0

@tuco實際上它可以工作 - 所以現在它只顯示我在report1.rdls中創建的標題(基本上添加了一個表格和標題 - 但我確實不知道如何在數據方面引用DataSet1) – BobSki

+0

那麼,這個問題的問題解決了嗎?現在你有一個新的問題? – Tuco

回答

0

通過你得到錯誤信息,並通過查看這條線:

Dim rds As ReportDataSource = New ReportDataSource("DS1", ReportDS.Tables(0)) 

I C得出的結論是報告DataSet在RDLC中被定義爲「DataSet」,並且您將它提供爲「DS1」。

更改爲:

Dim rds As ReportDataSource = New ReportDataSource("DataSet1", ReportDS.Tables(0)) 
相關問題