0
我的布局中有一个交叉表元素。列组中的一个值为null,我不想在输出中显示具有空值的列。如何从交叉表中删除空/空列?
我试过了检查空值时空值和修改打印时的表达属性。但它所做的只是将空值替换为空值,但列仍在输出中。
电流输出
预计输出
我的布局中有一个交叉表元素。列组中的一个值为null,我不想在输出中显示具有空值的列。如何从交叉表中删除空/空列?
我试过了检查空值时空值和修改打印时的表达属性。但它所做的只是将空值替换为空值,但列仍在输出中。
电流输出
预计输出
从空更改列标题名称别的东西,你可以修改bucketExpression
<bucketExpression><![CDATA[($F{myField==null}?"New name":$F{myField})]]></bucketExpression>
使用此功能,您还可以将这些值移动到新的存储桶(列)中。
如果您希望删除整列,AFIK没有其他方法,那么在将数据源传递给交叉表之前,先将数据源中的空值过滤掉。
的选项有:
如果您使用的是SQL数据源只需要添加的where子句中的字段中,MySQL的,将是这样的WHERE myField is not null
你的数据源使用filterExpression例如。
<filterExpression><![CDATA[($F{myField}!=null)]]></filterExpression>
开发定制JRDatasource包装忽略的数据源和跳,如果记录有null
价值。
结论:要删除列,你需要你将它传递给交叉之前从数据源中删除记录。