2012-12-05 87 views
0

我是新來的報告。我正在使用MicrosoftaReportViewr來顯示report.For我創建和填充數據集。然後我嘗試將該數據集作爲reportviewr1的源代碼。但我沒有得到實際coding.My代碼如何通過C#編碼在Windows窗體中顯示報告?

if (cbReprt.Text == "FirmDetails") 
{ 
      ReportDocument rpt = new ReportDocument(); 

rpt.Load("C:\\Users\\ALEN\\Desktop\\Merchant\\MerchantAssociation\\MerchantAssociation\\CrystalReport1.rpt"); 

SqlConnection myCon; 
SqlDataAdapter myAdapter; 

DataSet1 myDataset = new DataSet1(); //The DataSet you created. 

      myCon = new SqlConnection("Data Source=202.88.231.102;Initial Catalog=dbs_Merchant;Persist Security Info=True;User ID=sa;Password=abc123*"); 

      SqlCommand cmd3 = new SqlCommand("select * from View1", myCon); 
      cmd3.CommandType = CommandType.StoredProcedure; 

      myAdapter = new SqlDataAdapter(cmd3); 
      myAdapter.Fill(myDataset, "View1"); 
      rpt.SetDataSource(myDataset); 
      reportViewer1.LocalReport.DataSources= rpt; 
      reportViewer1.RefreshReport(); 
     } 

但我reportViewer1.LocalReport.DataSources = RPT;顯示錯誤... 需要或不需要任何特殊的命名空間?

+0

你得到的錯誤是什麼? – ryadavilli

+0

您是否試圖將CrystalReport加載到ReportViewer控件中?如果是這種情況,則必須安裝適用於Visual Studio的SAP CrystalReports並使用其查看器,因爲ReportViewer控件僅適用於SSRS報告格式(rdl/rdlc)。 – Vedran

+0

運行時錯誤或編譯錯誤?這是一個必要的開始。 – Rob

回答

1

這是你如何使用數據源的ReportViewer控件:

var myRds = new ReportDataSource("NameOfDataSourceDefinedInTheReport", myDataSet); 
reportViewer1.LocalReport.DataSources.Add(myRds); 

記住的是,報告將在SSRS格式,如果你使用ReportViewer控件2010 - 它有是SSRS 2008或更高版本的格式(2005年已棄用)。

名稱'NameOfDataSourceDefinedInTheReport'必須與實際報告中定義的任何要加載的數據相同,當然數據結構必須與報告中定義的相同。

+0

現在我無法加載我的report.rdlc文件。 –

+0

(誤解你的評論,認爲你有它的工作)總之,你得到的錯誤是什麼? – Vedran

+0

我修改了代碼 –

相關問題