Как добавить динамический столбец в таблицу на основе данных в Java? - PullRequest
0 голосов
/ 26 января 2019

У меня есть объект данных, который выглядит следующим образом:

@Data
public class DataResource {
    private String data;
    private Column[] columns;
}

@Data
public class Column{
    private String header;
    private float value;
}

То, что я хотел бы сделать, - это создать таблицу, в которой содержится динамическое число столбцов на основе данных столбцов в моем DataResource.

Пример: если столбцы имеют 3 элемента, то моя таблица будет создана с 4 столбцами: первый столбец будет содержать data в DataResource, второй столбец будет содержать columns[0].value, третий столбец будет содержать columns[1].value и т. Д.

Я использую JRBeanCollectionDataSource , чтобы создать источник данных для моей таблицы:

List<DataResource> myData = makeData();
JRBeanCollectionDataSource tableDataSource = new JRBeanCollectionDataSource(myData);
Map<String, Object> localParameters = new HashMap<>();
localParameters.put("tableDataSource", tableDataSource);
JasperPrint fillReport = JasperFillManager.fillReport(jasperReport, localParameters,new JREmptyDataSource());
JasperExportManager.exportReportToPdfStream(fillReport, output);

И затем я настраиваю tableDataSource как источник данных для моей таблицы. Я могу отобразить содержимое для моего первого столбца «данные» в таблице, используя очень простое выражение $ F {data} , но все еще застреваю при создании динамического столбца для столбцов в DataResource.

Может кто-нибудь дать мне подсказку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...