gpt4 book ai didi

java - 如何在 iReports 中向 reportElement 标签添加新属性?

转载 作者:行者123 更新时间:2023-11-30 07:20:33 24 4
gpt4 key购买 nike

我正在尝试在我的报告中包含 css 类。是否可以将我自己的属性添加到 reportElement 标记,以便我可以包含我的 css 文件引用链接?

谢谢

最佳答案

您需要做的是为您想要引用的字段添加一个属性。要添加类名,您需要添加 net.sf.jasperreports.export.html.class 并包含您需要添加的 id net .sf.jasperreports.export.html.id 作为属性。例如,下面是一个设置了两者的文本字段:

<textField>
<reportElement uuid="2399e4ef-633c-4d17-b964-3e093ece1936" x="0" y="22" width="100" height="20">
<property name="net.sf.jasperreports.export.html.class" value="TEST"/>
<property name="net.sf.jasperreports.export.html.id" value="ID"/>
</reportElement>
<textElement markup="html"/>
<textFieldExpression><![CDATA[($F{field1}]]></textFieldExpression>
</textField>

在 iReport 中,您可以通过选择字段来添加这些,然后在属性窗口中单击 Properties expressions 旁边的省略号按钮。 enter image description here

要在导出的报告中包含指向 css 文件的链接,您需要在导出前设置 JRHtmlExporterParameter.HTML_HEADER 参数的值。注意这个参数不是HTML意义上的header(head标签的内容),而是导出的HTML报表的header。这意味着它是在包含报告之前首先放置在导出报告中的内容。 Jasper Reports 使用的默认值是:

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<style type="text/css">
a {text-decoration: none}
</style>
</head>
<body text="#000000" link="#000000" alink="#000000" vlink="#000000">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td width="50%">&nbsp;</td><td align="center">

因此您需要修改它以包含样式表的链接,方法是添加:

<link rel="stylesheet" type="text/css" href="<cssfile you want to point to>" />

到适当的位置,我认为它在 head 标签内,但如果没有移动到适当的区域。所以 java 代码最终看起来像这样:

JRHtmlExporter exporter = new JRHtmlExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRHtmlExporterParameter.HTML_HEADER,
"<html>"+
"<head>"+
" <title></title>"+
" <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>"+
" <link rel=\"stylesheet\" type=\"text/css\" href=\"css/jasper.css\" />"+
" <style type="text/css">"+
" a {text-decoration: none}"+
" </style>"+
"</head>"+
"<body text="#000000" link="#000000" alink="#000000" vlink="#000000">"+
"<table width="100%" cellpadding="0" cellspacing="0" border="0">"+
"<tr><td width="50%">&nbsp;</td><td align="center">");
exporter.exportReport();

关于java - 如何在 iReports 中向 reportElement 标签添加新属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13951536/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com