当前位置: 首页 > 面试题库 >

通过jasperreport打印整个HashMap

弘涛
2023-03-14
问题内容

我需要通过jasperreport打印整个地图

例:

Column1 Column2

key1        val1

key2        val2

key2        val2

应该选择什么数据源?

包含哪些报告来源?

PS:我不想直接获得像$ P {key11}这样的值


问题答案:

我会尝试这样的

Map<String,Object> map = new HashMap<String,Object>();
//your map values....
Set<Entry<String,Object>> set = map.entrySet();
JRBeanCollectionDataSource bds = new JRBeanCollectionDataSource(set);

在碧玉报告中,您的字段将是

<field name="key" class="java.lang.String"/>
<field name="value" class="java.lang.Object"/>

注意:我如何使用Map.EntryBean getKey()getValue()创建数据源

如果您只想实现a Comparator并使用,则将不会对值进行排序Collections

    List<Entry<String, Object>> list = new ArrayList<Entry<String, Object>>();
    list.addAll(set);
    Collections.sort(list, new Comparator<Entry<String, Object>>() {
        @Override
        public int compare(Entry<String, Object> o1, Entry<String, Object> o2) {
            // TODO Implement you sorting
            return 0;
        }
    });
    JRBeanCollectionDataSource bdsSorted = new JRBeanCollectionDataSource(list);


 类似资料:
  • 应该选择什么数据源? containts报告来源应该是什么? PS:我不想直接获得像$P{key11}这样的值

  • 问题内容: 我已经开发了用于报告目的的Web应用程序。为此,我必须使用Applet在客户端查看报告。我通常可以在applet中看到报表,但是当涉及到打印时(当我单击Viewer中的“打印”按钮时),它将引发一个异常,该异常可以在Java Console中看到。我浏览了很多有关此问题的内容,并做了网上专家建议的一切。我将用作网站服务器时,在文件中添加了授予权限。此外,还向我的applet添加了授予权

  • 问题内容: 如何在Java中打印任何类实例?类似于Javascript中的JSON.stringify()。不需要JSON,任何格式的输出都可以。 应该输出类似: 问题答案: 您可以使用Apache的commons-lang 当然,反射很慢,因此只能在测试代码中执行。为了正常使用,请使用eclipse的“源”菜单-> generate toString()(或intellij的generate t

  • 这是用C++语言编写的代码。 为什么在第一个cout语句中,程序尝试打印直到它找到一个空字符,而在第二个语句中,它只打印一个字符?

  • 问题内容: 我必须打印Java项目的整个源代码。最终版本应如下所示: Eclipse:File- > Print。但是使用此功能,您一次只能打印一个文件。 有没有一种方法可以使用一个命令打印(或创建pdf / rtf)整个项目(所有 .java,。xml,…文件)? 我在Windows XP SP3上使用Eclipse Galileo 编辑: 对于每个类/文件,页面应(或多或少)如下所示: C:\

  • 如何打印窗格或整个FXML页面。我尝试了这两种方法(doPrint和doPrintSecond在控制器中)进行打印,但不起作用;请纠正我的错误。是否有其他方法可以打印fxml页面或窗格。 FXML代码 控制器代码 这是应用程序,我点击打印按钮,但它不工作。