BIRT PDF报告:固定表格高度?
我试图在一个A4固定布局页面中显示一个表来显示产品(行)。 我设法添加了一个带有页眉/详图/页脚部分的表格,但无法为详图部分设置最小高度(例如150mm)。 如果我在详图行上设置了150mm的高度,则每行将具有该150mm的高度。 然而,我希望每一行有一个最小的高度(如果某些列的内容被包装,那么可以在几行上)BIRT PDF报告:固定表格高度?,pdf,reporting,birt,tabular,Pdf,Reporting,Birt,Tabular,我试图在一个A4固定布局页面中显示一个表来显示产品(行)。 我设法添加了一个带有页眉/详图/页脚部分的表格,但无法为详图部分设置最小高度(例如150mm)。 如果我在详图行上设置了150mm的高度,则每行将具有该150mm的高度。 然而,我希望每一行有一个最小的高度(如果某些列的内容被包装,那么可以在几行上) +---------+--------+--------------+ Tbl Hdr | col1 | col2 | col3| +---------+--------+--------
+---------+--------+--------------+
Tbl Hdr | col1 | col2 | col3|
+---------+--------+--------------+
Tbl Dtl |[val1]|[val2]|[val3]|
+---------+--------+--------------+
||BIRT报告使用自动布局引擎优化当前上下文的内容。这是为了使报告看起来尽可能好,而不管显示/屏幕如何。事实上,它的目的是尽量减少,如果不是消除你试图保留的所有白色空间
你可以考虑做的是添加第二个细节行。然后,您可以给这个细节行一个固定的高度,并让它使用剩余的空白。或者,在母版页的页脚中放置第二个表,该表将呈现所需的数据,并将其绑定到页面底部。这样做的好处是,无论页面类型(字母、A4等)如何,它都会附着在页面底部。另一种选择是,如果有页脚,则不会剪切页脚:
我有一位客户,他想要固定的桌子尺寸和固定的行高。最后显示了10行
为了绕过自动格式化程序:
创建一个变量var rowCount=0;
setGlobalVariable(“rowCount”,rowCount)代码>
在初始化脚本中
在获取脚本中,添加rowCount++代码>恰好在返回之前(true)代码>。
然后,将if(!lineDataSet.fetch())
语句更改为以下内容:
if(!lineDataSet.fetch()){
if(rowCount % 10 >0){
row["column1"] = "";
rowCount++;
return(true);
}
return(false);
}
在许多情况下,当您需要创建假数据来填充表格(例如,缺少日期)时,这非常方便。谢谢您的回答。我同意你提出的第一个解决方案。我还必须使固定高度行仅在rownum大于3(任意值…)后可见,以避免不必要的分页符。不是很好的解决方案,但我不能再花更多的时间在这个。。。再次感谢你的帮助。
if(!lineDataSet.fetch()){
if(rowCount % 10 >0){
row["column1"] = "";
rowCount++;
return(true);
}
return(false);
}