我已经使用数据集通过我的存储过程绑定了我的 rdlc 报告。我可以将操作数据表绑定到我的 rdlc 报告而不是数据集 (.xsd)。
问问题
36781 次
2 回答
5
您在 ASPX 上的 reportViewer
<rsweb:ReportViewer ID="ReportViewer1" runat="server" SizeToReportContent="True">
</rsweb:ReportViewer>
获取数据集的方法
private DataTable GetSPResult()
{
DataTable ResultsTable = new DataTable();
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString);
try
{
SqlCommand cmd = new SqlCommand("yourStorePorcedure", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@id", 1);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(ResultsTable);
}
catch (Exception ex)
{
Response.Write(ex.ToString());
}
finally
{
if (conn != null)
{
conn.Close();
}
}
return ResultsTable;
}
将结果绑定到报表查看器
DataTable dt = GetSPResult();
ReportViewer1.Visible = true;
ReportViewer1.LocalReport.ReportPath = "Report1.rdlc";
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", dt));
将 DataSet 添加到您的项目中,然后向其中添加一个 tableadapter:
完成向导并使用存储过程创建实体
然后确保将 DataSet 文件添加到您的 rdlc
现在您需要设计并添加字段,否则它将是空白的
于 2013-08-05T16:32:44.133 回答
4
是的,我们可以使用操作数据表作为数据源来报告。但是字段名称应该相同。
DataTable dtReportData="yourdata source"
YourReportViewer.LocalReport.DataSources.Clear();
ReportDataSource RDS1 = new ReportDataSource("SampleReport", dtReportData);
YourReportViewer.ProcessingMode = ProcessingMode.Local;
YourReportViewer.LocalReport.EnableExternalImages = true;
YourReportViewer.LocalReport.ReportEmbeddedResource = "Your Report Path";
YourReportViewer.LocalReport.DataSources.Add(RDS1);
于 2013-08-05T13:04:58.090 回答