报表行数量限制 (Row Limit)

配置项

1. 系统级配置 baskreport.row.system.limit

⚠️ 待实现: 当前版本暂未支持此全局配置项

# baskreport.properties (计划支持)
baskreport.row.system.limit=50000

作用: 全局默认行数限制,所有报表的兜底值。当报表模板未单独配置 row-limit 时生效。

2. 报表级配置 row-limit

在报表模板 XML 中配置:

<setting row-limit="10000">
</setting>

代码实现

1. ReportSetting - 属性定义

// com.basksoft.report.core.definition.setting.ReportSetting.java:11
public class ReportSetting {
    private int rowLimit = 50000;  // 默认值

    public int getRowLimit() { return rowLimit; }
    public void setRowLimit(int rowLimit) { this.rowLimit = rowLimit; }
}

值说明

设置值 含义 实际生效
-1 使用系统默认值 = baskreport.row.system.limit
0 使用系统默认值 = baskreport.row.system.limit
>0 指定行数 min(设置值, baskreport.row.system.limit)

最终生效公式:

if (rowLimit <= 0) {
    actualRowLimit = baskreport.row.system.limit;  // -1或0时使用系统默认值
} else {
    actualRowLimit = min(rowLimit, baskreport.row.system.limit);  // 正数时取较小值
}

results matching ""

    No results matching ""