標籤:style http color 使用 os io 檔案 for
前提介紹:伺服器上網站IIS發布,伺服器上安裝了VS2008(親,內建水晶報表的喲)。伺服器版本2003。本地用VS2010採用push模式做的報表。
從開始到結束,尼瑪,不知道犧牲了咱多少腦細胞。好吧,不多說了,就簡單的說下遇到的問題及解決方案吧!
Question 1:將水晶報表放到伺服器上,發現出現報表載入不出來
eg:先在伺服器上安裝CRRedist2005_x86_chs.msi 和CRRedist2005_x86.msi這幾個檔案,因為我們的伺服器是Win2003,所以我選擇了CRRedist2005_x86_chs.msi和CRRedist2005_x86.msi 這兩個檔案進行安裝。用於自己的水晶報表為VS2010的,而伺服器上市VS2008,所以需要在伺服器上找到安裝目錄下的水晶報表DLL,分別為
還需要修改引用報表的頁面的CrystalReportView 的版本,我這是version=10.5.3700.0
<%@ Register Assembly="CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"
Namespace="CrystalDecisions.Web" TagPrefix="CR" %> OK, 通過一步一步的出現新問題,找尋新的解決方案,最終通過上述修改,得以載入出報表。
Quesion2: 水晶報表的按鈕圖片顯示為紅叉叉 eg: 1.直接將IIS中的aspnet_client檔案夾複製到網站的根目錄下
2.在c盤下找到aspnet_client檔案夾將檔案複製到網站的根目錄下
OK,按鈕圖片出來了,可是呢,新的問題又出來了 哎 ,心寒呀
Question3:報表中的列表啥的都正常,唯獨圖表就顯示為紅叉叉
eg:在網路上尋求了多種方法,最終通過在web.config檔案中添加如下代碼解決了(我通過2中的代碼解決了)
1:
<appSettings>
<add key="CrystalImageCleaner-AutoStart" value="true"/>
<add key="CrystalImageCleaner-Sleep" value="60000"/>
<add key="CrystalImageCleaner-Age" value="120000"/>
</appSettings>
2:
<httpHandlers>
<add verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
<add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false"/>
</httpHandlers>
3:
<handlers>
<add name="CrystalImageHandler.aspx_GET" verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" preCondition="integratedMode"/>
<add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</handlers>
OK,水晶報表的載入和現實都正常咯 可是,你以為就此玩完了嗎?嘿。嘿。嘿 Question 4:我是做了一個頁面統計列表功能,使用了iframe切入相應的報表進來,可是當我重複點擊多個列表之後,問題出現了。由於每次引用報表,沒有釋放掉,導致數量達到系統設定後,就出現系統提示。 eg:網上提供的解決方案有多種,一種是通過進入cmd,修改參數,把電腦預設載入的報表次數調大,之後重啟 另一種呢,也就是我選擇用的,在頁面寫個方法,在你引用rpt檔案之後不用了,釋放掉。
private void Un_pageLoad(object sender,eventArgs e){
rptDoc.DisPose(); // rptDoc為ReportDocuemnt對象
} 結束語----水晶報表看著簡單,可是開始著手之後,遇到的問題是咱無法想到的,還有就是想做好一個好看的水晶報表,還得好好努力學習,反正我就目前來說只能做點簡單的東西。