我目前正在編寫簡單的java應用程序,它將數據從csv讀取到jTable並生成報告(.jrxml - > .jasper)。從JTable獲取數據時,我應該使用fillReport方法中的參數嗎?
我收集的ArrayList中的參數映射像這樣的:
[{Description = 'qwerty', Title = 'asdfg', Amount = 1800},
{Description = 'uiop', Title = 'zxcv', Amount = 2500},
{Description = 'desc', Title = 'mnb', Amount = 510}]
我怎樣才能把它傳遞給fillReport方法(它需要java.util.map)? 或者,也許我必須使用字段,而不是參數?
編輯: 這裏有預期的輸出 - 充滿JTable中,並從它的數據在jasperView:
這裏是我的代碼 - 我從JTable中獲取數據源:
JRDataSource dataSource = new JRTableModelDataSource(dataTable.getModel());
try {
JasperCompileManager.compileReportToFile("citibank_customReport.jrxml");
JasperPrint print = JasperFillManager.fillReport("citibank_customReport.jasper", listOfParameters, dataSource);
JasperViewer.viewReport(print, true);
}
不幸的是,fillReport方法不理解hashmaps數組。我如何糾正它?
@PetterFriberg我試圖改進我的問題,也許現在更容易理解確切的問題? – gooornik07
是的,謝謝,你不需要使用參數,看到答案,你已經在你的數據源中的所有數據,你傳遞給fillManager –