【发布时间】:2016-04-20 07:23:16
【问题描述】:
有没有办法在 BIRT 中将 2 个交叉表的列对齐为相同大小?
我在报告中有 2 个交叉表,尺寸相同但值不同,布局首选项设置为自动,因此单元格按单元格值对齐。 有没有办法将第二个交叉表单元格设置为与第一个单元格对齐?
【问题讨论】:
标签: birt
有没有办法在 BIRT 中将 2 个交叉表的列对齐为相同大小?
我在报告中有 2 个交叉表,尺寸相同但值不同,布局首选项设置为自动,因此单元格按单元格值对齐。 有没有办法将第二个交叉表单元格设置为与第一个单元格对齐?
【问题讨论】:
标签: birt
我猜这很难。解决此问题的一种方法是查看您是否可以组合两个数据集,然后对指示两者之间的参数进行分组。您可以使用分页符设置来拆分两者之间的交叉表。使用一些花哨的条件标签,您可以使它们看起来完全不同。这将确保列对齐。
另一种方法可能是两个使用Crosstab的onCreate脚本和函数onCreateCell()
/**
* Called when crosstab cell is being created.
*
* @param cellInst
* ICrosstabCellInstance
* @param reportContext
* IReportContext
*/
function onCreateCell( cellInst, reportContext )
{
}
您可以从该 cellInst 获取样式信息,例如填充、边框和颜色信息。我没有注意到直接的 getWidth 函数,但是,嘿,也许有类似的东西。
可能是这样的:
reportContext.getDesignHandle().findElement(cellInst.getCellID()).setProperty("width", "10mm");
您需要使用 reportContext.setGlobalVariable() 函数从第一个交叉表上下文中获取该信息并进入第二个交叉表上下文。在 crossTab zebra 或交替行颜色上进行搜索,以找到一些有关如何在交叉表中操作单元格的示例。
【讨论】: