You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jasper Report横向列表无法按水平顺序换行排列问题

jr:list组件实现水平排列换行的解决方案
  • 抛弃jr:list自带的多列填充逻辑,改用横向容器+单行列表的组合:
    1. 创建一个宽度适配父容器的Panel,设置printOrder="Horizontal"并开启overflow="Wrap",这个面板负责控制元素换行。
    2. 在该面板内嵌入jr:list,将列表的columns设为1,同时指定layout="Horizontal",让列表项横向依次排列。
    3. 给列表内的单元格设置固定宽度(比如80px),确保容器能准确判断何时换行。
  • 核心配置示例:
    <panel printOrder="Horizontal" overflow="Wrap" width="100%">
        <jr:list printOrder="Horizontal" columns="1" layout="Horizontal" 
                 dataSource="..." width="100%">
            <!-- 你的列表项内容,设置固定width -->
            <textField width="80px"><textFieldExpression>$F{yourField}</textFieldExpression></textField>
        </jr:list>
    </panel>
    
  • 备选方案:如果jr:list仍有问题,直接用jr:forEach循环渲染单个元素,把所有元素放在开启overflow="Wrap"的横向Panel中,彻底避开列表的列填充机制。

内容的提问来源于stack exchange,提问作者noogel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 12:57:03