我正在尝试在单个A4固定布局页面中显示一个表格来显示产品(行)。 我设法添加一个带有标题/细节/页脚部分的表格,但我无法为细节部分设置最小高度(例如150mm)。 如果我在细节行上设置150mm高度,则每行将具有150mm高度。 虽然我想,每行都有一个最小的高度(如果某些列的内容被包装,可能在几行上。)
+---------+--------+--------------+
Tbl Hdr | col1 | col2 | col3 |
+---------+--------+--------------+
Tbl Dtl | [val1] | [val2] | [val3] |
+---------+--------+--------------+
| | <-should have a variable heigth
+---------+--------+--------------+
Tbl Ftr | | | Total |
+---------+--------+--------------+
如果细节行上的设置不是高度,则页脚会出现在细节行的正下方,而不是粘在页面的底部。
我希望这是有道理的(如果不是我可以提供更多细节)。 任何帮助将不胜感激。
答案 0 :(得分:1)
BIRT报告使用自动布局引擎来优化当前上下文的内容。这旨在使报告看起来尽可能好,无论显示/屏幕如何。事实上,它旨在最小化,如果不消除你想要保留的空白空间。
您可以考虑做的一件事是添加第二个细节行。然后,您可以将此详细信息行赋予固定高度,并使其消耗剩余的空白。或者,将第二个表放在母版页的页脚中,该页将呈现所需的数据并将其绑定到页面底部。这样做的好处是无论页面类型(字母,A4等等)都坚持页面底部。
答案 1 :(得分:1)
另一种选择,当有一个页脚没有切断它时:
我有一个客户想要一个固定的桌面尺寸,具有固定的行高。它最终显示了10行。
为了绕过自动格式化程序:
创建变量var rowCount = 0;
reportContext.setGlobalVariable("rowCount",rowCount);
在Initialize
脚本中。
在您的提取脚本中,在rowCount++;
之前添加return(true);
。
然后,将if(!lineDataSet.fetch())
语句更改为以下内容:
if(!lineDataSet.fetch()){
if(rowCount % 10 >0){
row["column1"] = "";
rowCount++;
return(true);
}
return(false);
}
当您需要创建虚假数据以填充表格(例如缺少日期)时,这在许多情况下都很方便