2013-08-05 93 views
0

我已经使用数据集来绑定我的rdlc报告,使用我的存储过程。我可以将受操纵的数据表绑定到我的rdlc报告而不是数据集(.xsd)。将数据表绑定到rdlc报告

+0

你可以绑定没有数据集,但你不会o使用可视化工具设计报告,因为reportviewer不知道字段 – meda

+0

@meda:我该怎么做。我是rdlc的新手。请你可以给我一个链接 – Ankur

+0

看到我的回答让我知道,如果你需要更多的信息 – meda

回答

4

您对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; 
} 

绑定结果的ReportViewer

DataTable dt = GetSPResult(); 
ReportViewer1.Visible = true; 
ReportViewer1.LocalReport.ReportPath = "Report1.rdlc"; 
ReportViewer1.LocalReport.DataSources.Clear(); 
ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", dt)); 

添加数据集到你的项目,然后再添加一个tableadapter到它:

enter image description here

经过向导并创建实体使用存储过程

然后确保数据集文件添加到您的RDLC

enter image description here

现在,你需要设计,并添加字段或它将是空的

+0

我的报告没有被绑定。 Datset1应该改成东西..?报告是空白的。 – Ankur

+0

@Ankur我添加了更多信息 – meda

+0

我需要添加哪些字段。我正在采用我的数据表。 – Ankur

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); 
+0

我得到以下错误 在本地报告处理过程中发生错误。 报告'/ TEST'的报告定义尚未指定。对象引用未设置为对象的实例。 – Ankur

+0

我的报告设计应该如何?根据我要绑定的表格,因为在这里我们没有任何.xsd文件。 – Ankur