2013-08-05 92 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