使用VS 2010并创建了一个示例Web应用程序。添加了数据集和报告,并创建了一个只返回一行的SP。目前没有变量。只是简单的SP没有任何参数。在Web应用程序中,添加了一个aspx页面,并在该页面中添加了一个报表查看器控件。 我的Aspx页面如下:
<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 :(得分:2)
我不是ReportViewer专家,但我认为您需要一个.rdlc来告诉报告查看器要渲染的内容。
ReportViewer.LocalReport.ReportPath = Server.MapPath(string.Format(@"~\Reports\Definitions\{0}.rdlc", reportName));
确保.rdlc中的DataSet名称与创建 ReportDataSource
时指定的DataSource相同答案 1 :(得分:0)
我找到了一个很好的例子来在asp.net中使用代码示例生成rdlc报告
http://www.dotnetsharepoint.com/2013/09/how-to-create-rdlc-reports-in-aspnet.html#.UjhvAsafh88