13

就目前而言,我有大约 12 列,所有列的宽度完全相同。问题是某些列不需要那么多空间。如何让列适合其内容?列需要是动态宽度。

我试过了

<fo:table table-layout="auto">

<fo:table-column column-width="proportional-column-width(1)" column-number="1"/>
<fo:table-column column-width="proportional-column-width(1)" column-number="2"/>
<fo:table-column column-width="proportional-column-width(1)" column-number="3"/>

似乎没有什么办法。

4

3 回答 3

15

不幸的是,我没有找到一种简单的方法来获得动态列宽。我最终得到了这个:

<fo:table-column column-number="1"  column-width="35pt" />
<fo:table-column column-number="2"  />
<fo:table-column column-number="3"  />
<fo:table-column column-number="4"  />
<fo:table-column column-number="5"  />
<fo:table-column column-number="6"  />
<fo:table-column column-number="7"  />
<fo:table-column column-number="8"  />
<fo:table-column column-number="9"  />
<fo:table-column column-number="10" />
<fo:table-column column-number="11" />
<fo:table-column column-number="12" />

我指定第一列是因为数据永远不会改变。其余的我保持开放以适应他们的内容。以我现在需要的方式工作。

于 2013-02-14T16:41:28.080 回答
3

您还可以以“百分比单位”指定单位。对我来说很好...

<fo:table-column column-number="1" column-width="75%" /> 
<fo:table-column column-number="2" column-width="25%" />
于 2015-09-20T05:53:21.733 回答
0
  1. 对长列使用属性“proportional-column-width”,其余列设为默认值。
  2. 检查每列的宽度,如果比其他列长,提供多少倍(如 2 倍或 3 倍或 4.5 倍甚至更多)。

例一:

<fo:table-column column-number="1" column-width="proportional-column-width(3)"/>
<fo:table-column column-number="2"/>
<fo:table-column column-number="3"/>

例 2:

<fo:table-column column-number="1" column-width="proportional-column-width(3)"/>
<fo:table-column column-number="2" column-width="proportional-column-width(4)"/>
<fo:table-column column-number="3"/>
于 2017-09-26T07:35:39.760 回答