我有一个显示在HTML格式的一些碧玉报告。我想在HTML表格的列的宽度自动调整以适应最宽的单元格的内容(在该列中),使得所有的数据被显示。
目前这种情况不会发生,因为通过碧玉生成的HTML指定用于<TABLE>固定的宽度和某些<TD>元件,例如
<td style="width: 20px; height: 17px;">
<span style="font-family: Arial; font-size: 11px;">foo-bar-baz@examp</span>
</td>
我不能简单地删除所有这些width属性(使用JavaScript),这是因为(如在上面的HTML示出),将使用这些宽度时甚至没有返回到客户端侧被隐藏任何数据
干杯,唐
虽然不完美,你可以标记字段与溢出拉伸。这将至少给你所有的数据。在您的JRXML文件将类似于:
<textField isStretchWithOverflow="true" hyperlinkType="None">
<reportElement style="Report Sub-Title" x="0" y="84" width="802" height="20"/>
<textElement/>
<textFieldExpression class="java.lang.String">
<![CDATA["For the period ...]]>
</textFieldExpression>
</textField>
我怕我不知道碧玉的任何功能可报告,将允许列宽的动态调整的 - 这可能是那些东西,有意义的HTML,但对于其他输出格式,如PDF没有多大意义的。
开发商有意识地决定不允许单元格的宽度伸展。对于列基于内容改变它们的宽度,它必须通过编程来完成。一个有用的工具:DynamicJasper。
DynamicJasper的动态创建报告,在运行时定义栏,栏宽(自动宽度),组变量,字体,图表,交叉表,子报表(也可以是动态的),页面大小和其他一切你可以在设计时定义。
在iReport的还有被称为“伸展式”的选项。选择“相对于带高度”