poi导出动态行动态列_如何生成在通过Java dynamicreports动态列

I wrote an app that gathers details about clients and generates a monthly report with Jasper Dynamic Report.

until now , my report shows all fields, and some might be blank with some clients, and full in others.

I want to make a dynamic report that chooses only the non empty columns for each client.

to accomplish that I have created arrays for :

aggregationSubtotalBuilder,

TextColumnBuilder,

ConditionalStyleBuilder,

StyleBuilder,

so instead of doing this

TextColumnBuilder offLine = col.column "OffLine","offline",type.doubleType());

TextColumnBuilder onLine = col.column("OnLine","online",type.doubleType());

.

.

.

im doing this:

for (int i = 0; i < activeColumns.length; i++)

{

activeColumnsForDataSource[i] = activeColumns[i];

textColumnBuilder[i] = col.column("\"" + activeColumnsForDataSource[i] + "\"","\"" + activeColumns[i] + "\"",type.doubleType()).setTitleFixedHeight(30);

conditionStyleBuilder[i] = stl.conditionalStyle(cnd.unEqual(textColumnBuilder[i], 0)).setFontSize(12).bold();

styleBuilder[i] = stl.style().conditionalStyles(conditionStyleBuilder[i]).setBorder(stl.pen1Point());

textColumnBuilder[i].setStyle(styleBuilder[i]).setHorizontalAlignment(HorizontalAlignment.CENTER);

aggregationSubtotalBuilder[i] = sbt.sum(textColumnBuilder[i]).setLabel("סהכ" + activeColumns[i]).setLabelStyle(sumLabelStyle).setStyle(dataNameStyle);

where "activeColumns" is an array with the names of all active columns I want to add.

one of the issues I have trouble with is that I have a Date column, that should always be displayed, and it is of a string type:

TextColumnBuilder dayDate = col.column("תאריך","date",type.stringType()).setStyle(rowNamesStyle);

so I cannot add it to the TextColumnBuilder Array .

how can I add it to the report?

in the build()

if I do something like this

.columns(//add columns

textColumnBuilder,dayDate)

.columnGrid(

textColumnBuilder,dayDate)

it will only show the last item I added , which is DayDate.

what can I do ?

Please help !

thank you.

dave.

解决方案

columns(textColumnBuilder).addColumn(dayDate)

and remove the ColumnGrid.

now its working :)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值