|
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;
|
|
|
|
Crystal Report如何ClientQuery的條件? |
觀看回應
|
|
如下Sample,可以用下列方法來達成: protected void Button1_Click1(object sender, EventArgs e) //印表程式 { WebClientQuery1.Excute(Panel1, true); // 處理條件 TextObject memo=(TextObject) CrystalReportSource1.ReportDocument.ReportDefinition.Sections["Section2"].ReportObjects["Text7"]; //取得Crystal Report Section2.Text7 memo.Text = WebClientQuery1.GetText(); //設定Text7.Text CrystalReportViewer1.RefreshReport(); // 印表 }
|
|
|
|
如何在Crystal Report中顯示資料表中單價及數量欄位相乘後的總價? |
觀看回應
|
|
可供選擇方法: 1. 最簡單的方法,就是sql語句直接取得,在報表中只要多顯示一個欄位就可以。 2. 在報表的欄位資源管理器中增加“公式欄位”,再編輯相應的計算公式。 3. 在報表的Detail中增加一個欄位,然後在這個TextObject元件中寫程式返回兩個欄位的乘積。
|
|
|
|
報表的顯示,變為一個欄位各佔一行,且在報表上多了一些虛線的空白行? |
觀看回應
|
|
可能是由於網頁中使用了css造成的,請打開Form後,檢視檔的原始檔,將多餘的鏈接css的部分刪除,如圖:
|
|
|
|
請問一下可以在報表FORM中以程式控制報表群組的欄位嗎? |
觀看回應
|
|
直接控制報表的群組不太容易實現,建議採用如下的方式,多定義一個欄位(可以在Select語句中用select ‘ ’ as field1),報表固定使用這個欄位做?群組欄位。在顯示報表前,可以將想要分組的欄位的內容用程式寫入到DataSet中的field1欄位,這樣報表也不需要特別的設計了。
|
|
|