略過巡覽連結。
略過巡覽連結      
  WEB項目能否在水晶報表點擊打印按鈕直接打印 觀看回應
可以通過新增一個Button元件,然後在Click事件如下的寫法:
CrystalDecisions.CrystalReports.Engine.ReportDocument rd = new CrystalDecisions. CrystalReports.Engine.ReportDocument();
rd.Load(Server.MapPath("CRPOS.rpt"));
rd.PrintOptions.PrinterName = "EPSON ME 1";
try
{
rd.PrintToPrinter(1, true, 0, 0);
}
catch
{
Response.Write("");
}

  在水晶報表中如何實現欄位代號去找關連表單的相對資料(如名稱等)? 觀看回應
報表只能打印資料表的內容,無法自動去關聯其他table的內容,所以必須在原來的InfoCommand中,增加Left Join的語法,將對方所要列印的欄位加入即可列印。

  設計好的報表,為何發佈后執行時發生:The type initializer for 'CrystalDecisions. CrystalReports. Engine.ReportDocument' threw an exception. 觀看回應
如果你要發布執行CrystailReport,而且這台IIS Server上有沒有安裝Visual Studio的情況下,必須要做2個步驟:
1.請右鍵預設網站,選擇屬性,打開“默認網站屬性”視窗,在視窗裏選擇【主目錄】頁籤,把本地路徑C:\Inetpub\wwwroot記錄下來,然後在Server機的C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ASP.NETClientFiles\路徑下找到CrystalReportWebFormViewer3資料夾,在Client端的C:\Inetpub\wwwroot路徑下新建\aspnet_client\System_Web\2_0_50727路徑,并把CrystalReportWebFormViewer3資料夾复制到C:\Inetpub\wwwroot\aspnet_client\System_Web\2_0_50727\路徑下。
2.在C:\ProgramFiles\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\ CrystalReports\資料夾下找到CRRedist2005_x86.msi文件,用戶要把CrystalReport發布到哪台機器(沒有VS的),就將此文件複製到那台機器並安裝此文件。

  有一個報表是要印標籤的,由於標籤的位置是固定的,但要從哪一個標籤開始印是不一定的,(例:一張標籤紙有24張小標籤紙,但有時候要由第8張開始印,有時候要由第6張開始印),請問要如何動態去控制報表列印的位置? 觀看回應
可以在資料中添加一些空記錄,比如從第6張開始印,就添加5筆。在資料中依據實際增加一定數量的記錄。比如我要從3開始印,就需要添加2筆記錄,一般只有key欄位是必須設定值的,keyfield的值可以使用你資料表確定沒有的值,其他欄位可以依據自己的情況。
DataRow dr;
for (...)
{
dr = idMaster.RealDataSet.Tables[0].NewRow();
dr[keyfield] = ...
idMaster.RealDataSet.Tables[0].Rows.InsertAt(dr,0);
}
以上程式寫在給報表賦DataSet前,比如MyReport.SetDataSource(Master.RealDataSet)這行程式前。

  CrystalReport在發布後執行, 為何會出現一個資料庫登入的畫面? 觀看回應
在執行Crystal Report報表時,如果沒有將對應的xml分發到 EEP2006\EEPNetReport之下的話, 就會出現此訊息。報表所對應的Xml檔,應該只用於設計模式中用來設計報表所使用,但在RunTime啟動時,Crystal Report雖然不會去到XML中去得取資料,資料是由你所控制的WebDataSource所提供,但實際上在Crystal Report啟動的那個瞬間,還是必須要有XML作為啟動報表的資料源,有2種方法可以避免這種現象,如下:
1. 在設計畫面中,點擊ReportViewer的右上角,點擊“Clear Report Source”,這個方法的執行結果是在Form開啟的時候不會顯示資料,只有當查詢後才會顯示,所以可以避免此錯誤發生。
2. 在Form_Load的事件中,增加程式來設定報表的資料源。這種方法的運行結果是在Form打開的一瞬間就可以看到報表,如下:
MyReport11.SetDataSource(myInfoDataSet.RealDataSet);
crystalReportViewer1.ReportSource = MyReport11;