2012-08-06 210 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

相关问题