0

我想允許一個asp.net mvc 2應用程序的用戶創建動態報表。在SQLServer數據庫中是一個包含用戶所有任務的表格。每項任務都取決於項目和用戶。我想要做的是創建一些報告,如「向我展示項目X的所有任務」或「顯示我所有的任務」,但也包括「向我展示我的所有任務,項目Y的狀態X」。此列表應該可以導出爲PDF或CSV。如果可以在asp.net mvc視圖中顯示此列表,這也會很好。使用水晶報表和實體框架創建自定義報表4

我讀了很多關於水晶報告,看來我想要的是可能的。我找到了一些教程來解釋如何在報告中顯示錶格的所有列。但是我不明白的是我如何設置一些條件「即時」。

這將是非常好的,如果像下面的僞代碼會做我想做的:

// Load the tasks with Entity Framework by reference to some Condition 
List<Task> tasks = GetTasks(userId); 

// Load the reportfile 
var report = GetChristalReport("Name of the .rpt report file"); 

// Set the loaded entities to the report 
report.setData(tasks); 

// Export it to pdf or do what you want with the rendered report 
var pdf = report.ExportToPdf(); 

我希望你能幫助我,並說,如果這是可能的CHRYSTAL報告,我怎麼能實現這一點。

+0

輸出文件需要在ASP中查看還是隻保存到磁盤?如果確實需要在ASP中查看,那麼它需要被視爲PDF,rpt等。 –

+0

如果可以在ASP中查看它,但它不是必須的。 –

回答

2

你提到的一切不僅可能,而且在CR中相對容易。大部分你需要做的是創建一個ReportDocument對象,調用repDoc.Load(「myReport.rpt」);然後repDoc.ExportToDisk(fileFormat,fileName);你完成了。如果你想在asp中作爲一個rpt文件來查看它,你需要創建一個ReportViewer對象,這有點困難,但ASP本身支持在瀏覽器中查看pdf。我希望這有助於

+0

好吧,我理解我應該顯示報告。但我仍不明白我如何爲報告設置數據。我不想顯示錶格的所有數據。我想創建一個條件取決於用戶輸入。類似於「上週一至今天的創建日期」。我所嘗試的是將實體框架對象的列表設置爲報告 –

+1

的數據源,以限制在報告中向報告添加參數的報告中顯示的數據在報告設計器中 –

+0

您是否有簡單的示例或教程來解釋此問題? –