BIRT - 对齐相同尺寸的交叉表

时间:2016-04-20 07:23:17

标签: birt

有没有办法在BIRT中将2个交叉表的列对齐到相同的大小?

我在报告中有2个交叉表,具有相同的尺寸但值不同,布局首选项设置为自动,因此单元格按单元格值对齐。 有没有办法将第二个交叉表单元格设置为第一个?

1 个答案:

答案 0 :(得分:0)

我猜这很难。解决此问题的一种方法是查看是否可以组合两个数据集,然后对指示两者之间的参数进行分组。您可以使用分页设置来分割两者之间的交叉表。使用一些花哨的条件标签,你可以使它们看起来完全不同。这将确保列对齐。

另一种方法可能是两个使用Crosstab的onCreate脚本和函数onCreateCell()

/**
 * Called when crosstab cell is being created.
 *
 * @param cellInst
 *            ICrosstabCellInstance
 * @param reportContext
 *            IReportContext
 */

function onCreateCell( cellInst, reportContext )
{
}

从该单元格中,您可以获得样式信息,如填充,边框和颜色信息。我没有注意到直接的getWidth函数,但是,嘿,也许有类似的东西。

可能是这样的:

reportContext.getDesignHandle().findElement(cellInst.getCellID()).setProperty("width", "10mm");

您需要使用reportContext.setGlobalVariable()函数从第一个交叉表上下文和第二个交叉表上下文中获取该信息。搜索crossTab斑马线或交替行颜色以查找有关如何操纵交叉表中的单元格的示例。