【问题标题】:How to you change the markup value for a text element using DynamicJasper?如何使用 DynamicJasper 更改文本元素的标记值?
【发布时间】:2011-11-22 15:42:42
【问题描述】:

我正在使用 DynamicJasper 在运行时从一些表生成报告。我有一些字段在创建数据时使用基本的 html 标记对数据进行了样式设置。非常基本的标签,如粗体和斜体,jasper 报告可以通过将 textElement 的 markup 属性设置为 html 来处理它们。问题是找不到使用 DynamicJasper 更改它的方法。

我曾尝试使用在ColumnBuilder 中找到的addFieldProperty("markup", "html"),但这会将标记作为属性添加到字段标记中(可能很明显,它应该根据名称执行此操作)而不是文本元素。

如何使用 DynamicJasper 更改文本元素的标记值?

【问题讨论】:

    标签: jasper-reports dynamic-jasper


    【解决方案1】:

    DynamicJasper API 不包含设置markup 的方法。

    但是您可以使用JasperReports API 来满足此需求。 比如JRBasePrintText类和JRCommonText接口都有设置markup的方法:

    public void setMarkup(java.lang.String markup)
    

    JRCommonText 接口有常量字段:

    public static final String MARKUP_NONE = "none";
    public static final String MARKUP_STYLED_TEXT = "styled";
    public static final String MARKUP_HTML = "html";
    public static final String MARKUP_RTF = "rtf";
    

    您可以根据需要修改 DynamicJasper 类,例如 this post

    【讨论】:

    • 我所做的是通过 DynamicJasper 运行所有内容,然后在填写报告之前将样式标记值更改为 html。它有效,只是看起来有点脏。我希望有更好的方法。我想真正的问题是,因为你链接到的帖子有我想要的,所以没有人回复海报关于将他的更改添加到代码库的原因。无论如何,谢谢。
    • 能否给我一个代码示例,说明如何更改报告的标记?谢谢!
    猜你喜欢
    • 2011-12-19
    • 1970-01-01
    • 2010-11-24
    • 1970-01-01
    • 1970-01-01
    • 2014-05-25
    • 1970-01-01
    相关资源
    最近更新 更多