Ширина столбца динамической таблицы 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"/>
Ничто, кажется, не делает трюк.
Ответы
Ответ 1
К сожалению, я не нашел простой способ иметь динамические ширины столбцов. Я закончил с этим:
<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" />
Я указываю первый столбец, потому что данные никогда не будут меняться. Остальное я оставляю открытым, чтобы соответствовать их контенту. Работает так, как мне нужно, чтобы работать на данный момент.
Ответ 2
Вы также можете указать единицы измерения в единицах процента. Прекрасно работает для меня...
<fo:table-column column-number="1" column-width="75%" />
<fo:table-column column-number="2" column-width="25%" />
Ответ 3
- Используйте атрибут "пропорциональная ширина столбца" для длинных столбцов, а остальные столбцы - по умолчанию.
- Проверьте ширину каждого столбца, если она длинна, чем другие столбцы, укажите, сколько раз больше (например, 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"/>