2014-01-20 1 views
1

Я хочу скрыть столбец при генерации отчета с помощью DynamicJasper.
Я не уверен, как это сделать. Я попытался получить некоторую функцию, которая дает это, но я не мог понять, так как я к технологии.Колонки автоимизации в DynamicJasper

Вот мой базовый код:

AbstractColumn myColumn = ColumnBuilder.getNew().setColumnProperty(ConstantsClass.REPORT_COLUMN_PROPERTY[0], String.class.getName()) 
     .setFixedWidth(true) 
     .setTitle(ConstantsClass.REPORT_COLUMN_COLUMN_HEAD[0]).setWidth(new Integer(100)) 
     .setHeaderStyle(myStyle) 
     .build(); 

FastReportBuilder drb = new FastReportBuilder(); 
drb.addColumn(myColumn); 
DynamicReport dr = drb.build(); 

return dr; 

Предположим, если этот столбец столбец B Эксель листа, он должен быть autohidden при генерации отчета. После столбца A должен отображаться только C. Когда вы покажете, B должен быть показан.

+0

И в чем проблема? Вы можете добавить столбец с методом 'FastReportBuilder.addColumn' или нет - это зависит от логики. –

+0

Образцы [здесь] (http://dynamicjasper.com/documentation-examples/getting-started/) –

+0

Привет, Алекс, проблема здесь в столбцах должна быть построена и храниться скрытой. Только когда они отображают его, это должно быть показано. Если я собираюсь выполнить условие в коде, у меня есть возможность решить, должен ли быть построен столбец или нет. – prabhath

ответ

0

Вы можете попробовать как это. Так как это написано в java, вы можете попробовать это.

if(ConditionForBColumn) { 
AbstractColumn myColumn = ColumnBuilder.getNew().setColumnProperty(ConstantsClass.REPORT_COLUMN_PROPERTY[0], ValueOfB String.class.getName()) 
    .setFixedWidth(true) 
    .setTitle(ConstantsClass.REPORT_COLUMN_COLUMN_HEAD[0]).setWidth(new Integer(100)) 
    .setHeaderStyle(myStyle) 
    .build(); 
} else { 
AbstractColumn myColumn = ColumnBuilder.getNew().setColumnProperty(ConstantsClass.REPORT_COLUMN_PROPERTY[0], String.class.getName()) 
    .setFixedWidth(true) 
    .setTitle(ConstantsClass.REPORT_COLUMN_COLUMN_HEAD[0]).setWidth(new Integer(100)) 
    .setHeaderStyle(myStyle) 
    .build(); 
} 

FastReportBuilder drb = new FastReportBuilder(); 
drb.addColumn(myColumn); 
DynamicReport dr = drb.build(); 

return dr; 
+0

Благодарим за предложение. Но это не помогает мне, поскольку это позволяет мне решить, нужно ли строить столбцы или нет, в зависимости от состояния. Мое требование - колонка должна быть построена и храниться как скрытая в excel во время печати. Позже это должно отображаться только тогда, когда мы отобразим его. – prabhath