2013-03-28 169 views
1

我正在嘗試在我一直在研究的項目上使用水晶報告。我沒有用水晶報表但太多的經驗是什麼,我能夠通過谷歌搜索我做這個塊的代碼至今:c#數據集和水晶報告

的標記:

<CR:CrystalReportViewer ID="crViewerReports" Visible="true" runat="server" 
      AutoDataBind="true" ReportSourceID="crs" /> 
     <CR:CrystalReportSource ID="crs" runat="server" > 
      <Report FileName="MyReport.rpt"> 
      </Report> 
     </CR:CrystalReportSource> 

代碼:

DataSet ds = new DataSet(); 
      ds = util.getReportDataSet(DateTime.Now.AddYears(-5), DateTime.Now, 100,4, null); 

     // *** NEXT STEPS *** // 

只是水晶報告文件是從其他應用程序,並正常工作我只需要獲取數據集。 如果有人能幫助我解決這個問題,我將不勝感激。 由於提前,Laziale

回答

0

下一步將是你的你剛剛加載的數據集報表的assigning the data source

crs.ReportDocument.SetDataSource(ds); 

如果你有參數,你還需要set them

+0

感謝您的答覆。正如我從字段資源管理器中看到的,我沒有參數,但是我有數據庫字段。我應該怎麼處理它們? Thx很多 – Laziale

+0

如果你沒有參數,那麼你不需要做任何特殊的事情,只要設置數據源就足夠了。 –

+0

一切順利,最後我得到空白頁面,雖然數據集有數據。你是否知道爲什麼會發生這種情況。謝謝 – Laziale

0

這是ASPX:

<updatepanel id="up" updatemode="alwayz"> 
<ContentTemplate> 
    <CR:CrystalReportViewer ID="crvReportParameter" runat="server" Visible="false" EnableParameterPrompt="false" 
       ReuseParameterValuesOnRefresh="true" ToolPanelView="None" AutoDataBind="true" 
       HasCrystalLogo="False" HasToggleParameterPanelButton="false" /> 
</ContentTemplate> 
</updatepanel> 

這是CS文件:

ds = util.getReportDataSet(DateTime.Now.AddYears(-5), DateTime.Now, 100,4, null); 
          rptDoc.Load(Server.MapPath(""MyReport.rpt"")); 

     rptDoc.SetDataSource(dsData.Tables[0]); 
    crvReportParameter.ReportSource = rptDoc; 
       crvReportParameter.DataBind(); 
+0

它不在同一個空白頁 – Laziale

+0

現在試試.............. –

+0

@Laziale = R你在更新面板中嘗試水晶報表查看器? ??????? –