Ширина столбца динамической таблицы XSL-FO

Как сейчас, у меня около 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"/>

кажется, ничто не делает трюк.

3 ответов


к сожалению, я не нашел простой способ иметь динамические ширины столбцов. Я закончил с этим:

<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" />

Я указываю первый столбец, потому что данные никогда не изменятся. Остальное я оставляю открытым, чтобы соответствовать их содержанию. Работает так,как мне сейчас нужно.


вы также можете указать единицы в "процентах единиц". Мне подходит...

<fo:table-column column-number="1" column-width="75%" /> 
<fo:table-column column-number="2" column-width="25%" />

  1. используйте атрибут "proportional-column-width" для длинных столбцов, а остальные столбцы пусть по умолчанию.
  2. Проверьте ширину каждого столбца, если он длиннее других столбцов, укажите, сколько раз больше (например, 2 раза или 3 раза или 4,5 раза или даже больше).

Ex-1:

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

Ex-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"/>