报表动态的增加列原创
金蝶云社区-熊嘉强
熊嘉强
15人赞赏了该文章 2,845次浏览 未经作者许可,禁止转载编辑于2020年09月03日 10:44:47

在报表中获取列,可以重写增加、删除、修改设计期列信息:

public List<AbstractReportColumn> getColumns(List<AbstractReportColumn> columns)

以下案例为动态增加列:

@Override

public List<AbstractReportColumn> getColumns(List<AbstractReportColumn> columns) throws Throwable {

         // TODO Auto-generated method stub

         List<AbstractReportColumn> cols = super.getColumns(columns);

         createDemo(cols);

         return cols;

}

private void createDemo(List<AbstractReportColumn> cols) {

         LocaleString cap1 = new LocaleString("名称");

         LocaleString cap2 = new LocaleString("测试");

         ReportColumnGroup groupCol = new ReportColumnGroup();

         groupCol.setCaption(cap1);

         cols.add(groupCol);

         ReportColumn qty = new ReportColumn();

         qty.setCaption(cap2);

         // qty.setWidth(width);

         qty.setFieldKey("demofieldkey"+"qty");

         qty.setFieldType(ReportColumn.TYPE_QTY);

         qty.setMeasureUnitField("baseunitid");

         groupCol.getChildren().add(qty);

}


赞 15