2012-08-06 254 views
1

正在使用VS 2010並創建示例Web應用程序。添加一個數據集並報告並創建一個只返回一行的SP。目前沒有包含任何變量。只需簡單的SP w/o任何參數。在Web應用程序中,添加了一個aspx頁面,並在該頁面中添加了一個報表查看器控件。 我的aspx頁面去如下:使用報告查看器顯示Asp.Net中的RDLC報告

<rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana" 
     Font-Size="8pt" InteractiveDeviceInfos="(Collection)" 
     WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt"> 
    </rsweb:ReportViewer> 

代碼後面去如下:

protected void Page_Load(object sender, EventArgs e) 
     { 
      ReportViewer1.Visible = true; 
      ReportDataSource dataSource = new ReportDataSource("DataSet1", LoadData().Tables[0]); 
      ReportViewer1.LocalReport.DataSources.Clear(); 
      ReportViewer1.LocalReport.DataSources.Add(dataSource); 
      ReportViewer1.LocalReport.Refresh(); 
     } 

     private DataSet LoadData() 
     { 
      var dataset = new DataSet(); 
      using (var con = new SqlConnection(ConfigurationManager.ConnectionStrings["CString"].ConnectionString)) 
      { 
       var command = new SqlCommand("[spSampleReport]") 
            { 
             Connection = con, 
             CommandType = CommandType.StoredProcedure 
            }; 

       var adap = new SqlDataAdapter(command); 
       con.Open(); 
       adap.Fill(dataset, "DataSet1"); 
      } 

      return dataset; 
     } 

在我的網絡配置,增加了在HttpHandlers的以下部分:

時運行,頁面上沒有顯示任何內容。即使報表查看器工具欄也不顯示。

+0

調試時出現錯誤? – ledgeJumper 2012-08-16 15:46:34

回答

2

我不是ReportViewer的專家,但我認爲你需要一個.rdlc來告訴報表查看器要呈現什麼。

ReportViewer.LocalReport.ReportPath = Server.MapPath(string.Format(@"~\Reports\Definitions\{0}.rdlc", reportName)); 

確保在.rdlc數據集名稱是相同的指定數據源,當你創建你ReportDataSource

相關問題