2012-07-30 65 views
1

我希望reportviewer控件中的表組件填充來自數據表的數據。換句話說,我想使用datatable作爲reportviewer控件的來源。我試圖創建數據集,添加數據表與我的數據表中會有之後的程序化填寫詳細的欄目,然後我用下面的代碼:在ReportViewer中作爲數據源的數據表

DataTable dt = new DataTable(); 
dt.TableName = "DataTable1"; 
conn.Open(); 
adapter.Fill(dt); 
ReportViewer1.ProcessingMode=ProcessingMode.Local; 
ReportDataSource source = new ReportDataSource("SampleDs", dt); 
ReportViewer1.LocalReport.DataSources.Clear(); 
ReportViewer1.LocalReport.DataSources.Add(source); 
ReportViewer1.DataBind(); 
ReportViewer1.LocalReport.Refresh(); 

然而,這是行不通的。我得到的唯一消息是:

報告處理期間發生錯誤。 SampleDs。

誰能告訴我怎麼解決問題,或指出的地方建立這種報告的全過程的描述REFFERENCE,

回答

2

你使用的ReportDataSource對象的構造超載期待名稱在第一個參數中的數據源。你不提供這個,你需要DataTable的名字。

更新你的代碼這一點,你應該確定:

ReportDataSource source = new ReportDataSource("DataTable1", dt); 
+0

謝謝你,爲我工作。另一個問題:如果我想添加一個字符串值來報告,是否有可能做到這一點,而無需將此值添加到數據表? – seeker 2012-07-30 16:55:33

+0

@seeker說實話,我對ReportViewer並不熟悉,所以我不確定。嘗試一些事情,如果你無法使用它,請回到SO,並打開另一個問題,顯示你的代碼和你遇到的問題。當然,將數據添加到DataTable非常容易,所以也許你應該考慮這樣做。 – 2012-07-30 18:47:27