报表行数量限制 (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); // 正数时取较小值
}