2010-05-06 45 views
1

我試圖在單個A4固定佈局頁面中顯示產品(行)的顯示錶。 我設法添加一個帶有頁眉/明細/頁腳部分的表格,但我無法爲明細部分設置最小高度(例如150mm)。 如果我在細節行上設置了150mm的高度,則每行將具有150mm的高度。 雖然我想,每行都有一個最小高度(如果某些列的內容被包裝,可以在幾行上)。BIRT PDF報告:固定表heigth?

 +---------+--------+--------------+ 
Tbl Hdr | col1 | col2 | col3  | 
     +---------+--------+--------------+ 
Tbl Dtl | [val1] | [val2] | [val3]  | 
     +---------+--------+--------------+ 
     |         | <-should have a variable heigth 
     +---------+--------+--------------+ 
Tbl Ftr |   |  |  Total | 
     +---------+--------+--------------+ 

如果用一組詳細信息行高度不那麼頁腳來了,細節行的正下方,而不是在頁面的底部伸出。

我希望這是有道理的(如果不是我可以提供更多的細節)。 任何幫助將不勝感激。

回答

1

BIRT報告使用自動佈局引擎來優化當前上下文的內容。這是爲了使報告看起來儘可能好,無論顯示器/屏幕如何。事實上,它的目的是儘量減少,如果不是消除你試圖保留的白色空間。

您可以考慮做的一件事是添加第二個詳細信息行。然後你可以給這個細節行固定的高度,並讓它消耗剩餘的空白。或者,在主頁面的頁腳中放置第二個表格,它將呈現所需的數據並將其綁定到頁面的底部。無論頁面類型如何(字母,A4等),這都具有堅持頁面底部的優勢。

+0

謝謝您的回答這在很多情況下派上用場。 我用你提供的第一個解決方案去了。我還必須在rownum大於3(任意值...)之後才能使固定heigth行可見,以避免不必要的分頁符。 不是很好的解決方案,但我不能再花更多時間在這... 再次感謝您的幫助。 – kiwifrog 2010-05-11 12:20:54

1

的替代,具有底腳的時候不剪:

我有一個客戶誰想要一個固定的表的大小,用一個固定的行高。它最終顯示了10行。

爲了避開自動格式化:

創建於Initialize腳本變量var rowCount = 0; reportContext.setGlobalVariable("rowCount",rowCount);

在您的抓取腳本中,在return(true);之前添加rowCount++;。 然後,if(!lineDataSet.fetch())聲明更改爲以下:

if(!lineDataSet.fetch()){ 
    if(rowCount % 10 >0){ 
     row["column1"] = ""; 
     rowCount++; 
     return(true); 
    } 
    return(false); 
} 

當你需要創建假的數據來補齊表(例如缺少的日期)