﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-莫非</title><link>http://www.blogjava.net/three-3/</link><description>游离中！！！</description><language>zh-cn</language><lastBuildDate>Fri, 01 May 2026 18:06:13 GMT</lastBuildDate><pubDate>Fri, 01 May 2026 18:06:13 GMT</pubDate><ttl>60</ttl><item><title>解决Jasperreport的web 套打</title><link>http://www.blogjava.net/three-3/archive/2010/07/27/327184.html</link><dc:creator>杨慕</dc:creator><author>杨慕</author><pubDate>Tue, 27 Jul 2010 01:24:00 GMT</pubDate><guid>http://www.blogjava.net/three-3/archive/2010/07/27/327184.html</guid><wfw:comment>http://www.blogjava.net/three-3/comments/327184.html</wfw:comment><comments>http://www.blogjava.net/three-3/archive/2010/07/27/327184.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/three-3/comments/commentRss/327184.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/three-3/services/trackbacks/327184.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;前段时间写了一篇&nbsp;解决Jasperreport的web打印另一种方法http://www.blogjava.net/three-3/archive/2010/06/24/324329.html&nbsp;关于在web中的打印 套打是经常被提到的，这个需求很广泛，中间忙了一些其他的事情，到今天才把在Jasperreport实现web套打的内容整理好。在读这篇文章之前...&nbsp;&nbsp;<a href='http://www.blogjava.net/three-3/archive/2010/07/27/327184.html'>阅读全文</a><img src ="http://www.blogjava.net/three-3/aggbug/327184.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/three-3/" target="_blank">杨慕</a> 2010-07-27 09:24 <a href="http://www.blogjava.net/three-3/archive/2010/07/27/327184.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>解决Jasperreport的web打印另一种方法</title><link>http://www.blogjava.net/three-3/archive/2010/06/24/324329.html</link><dc:creator>杨慕</dc:creator><author>杨慕</author><pubDate>Thu, 24 Jun 2010 05:08:00 GMT</pubDate><guid>http://www.blogjava.net/three-3/archive/2010/06/24/324329.html</guid><wfw:comment>http://www.blogjava.net/three-3/comments/324329.html</wfw:comment><comments>http://www.blogjava.net/three-3/archive/2010/06/24/324329.html#Feedback</comments><slash:comments>21</slash:comments><wfw:commentRss>http://www.blogjava.net/three-3/comments/commentRss/324329.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/three-3/services/trackbacks/324329.html</trackback:ping><description><![CDATA[昨天下了jasperreport的最新版本3.7.3看了下。弄了半天还是没能习惯他的报表制作方式。看了下他的<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%B4%F2%D3%A1">打印</span>是利用applet的来打印的。而且还需要客户端安装 十几MB的 jre 关于这个好坏，每个人都有自己的看法。今天我这里要说的是利用<a href="http://www.jatools.com/print/" target="_blank"><font color="#810081">jatoolsprinter</font></a>控件来打印jasperreport的报表。控件大小只有100k左右&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;关于jasperreport的报表制作这里不做说明，我是在环境中跑了下jasperreport的demo运行界面如下<br />
<span id="attach_240" onmouseover="showMenu(this.id, 0, 1)" style="display: none; left: 215px; position: absolute; top: 360px"><img src="http://bbs.jatools.com/images/default/attachimg.gif" border="0"  alt="" /></span> <img onmouseover="attachimginfo(this, 'attach_240', 1);attachimg(this, 'mouseover')" onmouseout="attachimginfo(this, 'attach_240', 0, event)" alt="" src="http://bbs.jatools.com/attachments/month_1006/20100624_25438a55b6727a6fd5a3SeFHx2hVc2fz.png" onload="attachimg(this, 'load')" border="0" />
<div class="t_attach" id="attach_240_menu" style="display: none; position: absolute"><img class="absmiddle" alt="" src="http://bbs.jatools.com/images/attachicons/image.gif" border="0" /> <a href="http://bbs.jatools.com/attachment.php?aid=240&amp;k=15b3adbce271df5c8352847cf287e5d5&amp;t=1277357864&amp;nothumb=yes" target="_blank"><strong>2010-06-24_111901.png</strong></a> (24.77 KB)<br />
<div class="t_smallfont">2010-6-24 12:57</div>
</div>
<br />
<br />
运行JSP Example 如下图<br />
<span id="attach_241" onmouseover="showMenu(this.id, 0, 1)" style="display: none; left: 215px; position: absolute; top: 1198px"><img src="http://bbs.jatools.com/images/default/attachimg.gif" border="0"  alt="" /></span> <img onmouseover="attachimginfo(this, 'attach_241', 1);attachimg(this, 'mouseover')" onmouseout="attachimginfo(this, 'attach_241', 0, event)" alt="" src="http://bbs.jatools.com/attachments/month_1006/20100624_8018119283af4c88962cHvaR4Xiypdit.png" onload="attachimg(this, 'load')" border="0" />
<div class="t_attach" id="attach_241_menu" style="display: none; position: absolute"><img class="absmiddle" alt="" src="http://bbs.jatools.com/images/attachicons/image.gif" border="0" /> <a href="http://bbs.jatools.com/attachment.php?aid=241&amp;k=f5c53b7479f84e3ab33ba786832f261e&amp;t=1277357864&amp;nothumb=yes" target="_blank"><strong>2010-06-24_112926.png</strong></a> (15.38 KB)<br />
<div class="t_smallfont">2010-6-24 12:57</div>
</div>
<br />
下面我们对demo中的html.jsp进行修改 用<a href="http://www.jatools.com/print/" target="_blank"><font color="#810081">jatoolsprinter</font></a>来打印Jasperreport 的报表<br />
蓝色部分为控件需要的内容<br />
<font color="#0000ff">&lt;%@ page contentType="text/html; charset=gb2312" language="java" %&gt;</font><br />
&lt;%@ page errorPage="error.jsp" %&gt;<br />
&lt;%@ page import="datasource.*" %&gt;<br />
&lt;%@ page import="net.sf.jasperreports.engine.*" %&gt;<br />
&lt;%@ page import="net.sf.jasperreports.engine.util.*" %&gt;<br />
&lt;%@ page import="net.sf.jasperreports.engine.export.*" %&gt;<br />
&lt;%@ page import="net.sf.jasperreports.j2ee.servlets.*" %&gt;<br />
&lt;%@ page import="java.util.*" %&gt;<br />
&lt;%@ page import="java.io.*" %&gt;<br />
<font color="#0000ff">&lt;html&gt;<br />
&lt;head&gt;</font><br />
<font color="#0000ff"><font color="#000000">&lt;!-- <strong>插入打印控件</strong> --&gt;</font><br />
&lt;OBJECT ID="jatoolsPrinter" CLASSID="CLSID:B43D3361-D975-4BE2-87FE-057188254255" <br />
codebase="jatoolsPrinter.cab#version=5,3,0,0"&gt;&lt;/OBJECT&gt;<br />
&lt;/head&gt;<br />
&lt;script type="text/javascript"&gt;<br />
function doPrint(how)<br />
{<br />
&nbsp; &nbsp; <br />
//打印文档对象<br />
&nbsp; &nbsp; var myDoc ={ <br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;documents: document,&nbsp; &nbsp; // 打印页面(div)们在本文档中<br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;copyrights :&nbsp; &nbsp; '杰创软件拥有版权 </font>[url=]<font color="#0000ff">www.jatools.com'</font>[/url]&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;// <strong>版权声明,必须 <br />
</strong><br />
<font color="#0000ff">&nbsp; &nbsp;&nbsp; &nbsp; };<br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<br />
&nbsp; &nbsp; // 调用打印方法<br />
&nbsp; &nbsp; if(how == '打印<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%D4%A4%C0%C0">预览</span>...')<br />
&nbsp; &nbsp; jatoolsPrinter.printPreview(myDoc,true );&nbsp; &nbsp;// 打印预览<br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<br />
&nbsp; &nbsp;else if(how == '打印...')<br />
&nbsp; &nbsp;&nbsp; &nbsp;jatoolsPrinter.print(myDoc ,true);&nbsp; &nbsp;// 打印前弹出打印设置对话框<br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
&nbsp; &nbsp;else<br />
&nbsp; &nbsp;&nbsp; &nbsp;jatoolsPrinter.print(myDoc ,false);&nbsp; &nbsp;&nbsp; &nbsp; // 不弹出对话框打印<br />
}<br />
&lt;/script&gt;<br />
&lt;body&gt;</font><br />
<font color="#0000ff">&lt;br&gt;<br />
&lt;input type="button" value="打印预览..."&gt;<br />
&lt;input type="button" value="打印..."&gt;<br />
&lt;input type="button" value="打印"&gt;<br />
&lt;br&gt;</font><br />
<br />
&lt;%<br />
File reportFile = new File(application.getRealPath("/reports/WebappReport.jasper"));<br />
&nbsp; &nbsp; if (!reportFile.exists())<br />
&nbsp; &nbsp;throw new JRRuntimeException("File WebappReport.jasper not found. The report design must be compiled first.");<br />
JasperReport jasperReport = (JasperReport)JRLoader.loadObject(reportFile.getPath());<br />
Map parameters = new HashMap();<br />
parameters.put("ReportTitle", "Address Report");<br />
parameters.put("BaseDir", reportFile.getParentFile());<br />
&nbsp; &nbsp; <br />
JasperPrint jasperPrint = <br />
&nbsp; &nbsp;JasperFillManager.fillReport(<br />
&nbsp; &nbsp; jasperReport, <br />
&nbsp; &nbsp; parameters, <br />
&nbsp; &nbsp; new WebappDataSource()<br />
&nbsp; &nbsp; );<br />
&nbsp; &nbsp; <br />
JRHtmlExporter exporter = new JRHtmlExporter();<br />
session.setAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, jasperPrint);<br />
<br />
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);<br />
exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);<br />
exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "../servlets/image?image=");<br />
<br />
exporter.exportReport();<br />
%&gt;<br />
<font color="#0000ff">&lt;/body&gt;<br />
&lt;/html&gt;</font><br />
<br />
因为<a href="http://www.jatools.com/print/" target="_blank"><font color="#810081">jatoolsprinter</font></a>的打印是根据&lt;div id='page'+数字&gt;来区分打印的页的。而Jasperreport生成的html页面中又没有包含这些信息，所以我们就需要修改下Jasperreport的源码<br />
由生成的报表页面的源码中我们可以看到Jasperreport是利用&lt;a name="JR_PAGE_ANCHOR_?_?"&gt;&lt;/a&gt;来区分页数的我们可以找到<font color="#ff0000">package net.sf.jasperreports.engine.export </font><font color="#000000">下的<font color="#ff0000">JRHtmlExporter.java</font> 找到代码中的<font color="#ff0000">exportReportToWriter</font>方法里的如下片段</font><br />
<font color="#ff0000">writer.write("&lt;a name=\"" + JR_PAGE_ANCHOR_PREFIX + reportIndex + "_" + (pageIndex + 1) + "\"&gt;&lt;/a&gt;\n");</font><br />
<font color="#000000">在这段代码之后加上</font><br />
<font color="#0000ff">writer.write("&lt;div id='page"+ (pageIndex + 1)+"'&gt;\n");</font><br />
<font color="#000000">然后找到源码中的</font><br />
<font color="#ff0000">exportPage(page);</font><br />
<font color="#000000">在他之后加上div的结束标志</font><br />
<font color="#0000ff">writer.write("&lt;/div&gt;\n");</font><br />
<font color="#000000">以上代码蓝色部分为后添加的内容</font><br />
<font color="#000000"><span id="attach_242" onmouseover="showMenu(this.id, 0, 1)" style="display: none; position: absolute"><img src="http://bbs.jatools.com/images/default/attachimg.gif" border="0"  alt="" /></span> <img onmouseover="attachimginfo(this, 'attach_242', 1);attachimg(this, 'mouseover')" onmouseout="attachimginfo(this, 'attach_242', 0, event)" alt="" src="http://bbs.jatools.com/attachments/month_1006/20100624_bf81e83671c250f55f13qHAVokhpCG7F.png" onload="attachimg(this, 'load')" border="0" />
<div class="t_attach" id="attach_242_menu" style="display: none; position: absolute"><img class="absmiddle" alt="" src="http://bbs.jatools.com/images/attachicons/image.gif" border="0" /> <a href="http://bbs.jatools.com/attachment.php?aid=242&amp;k=a9e89e31ace7bd289907479e5d3fe44c&amp;t=1277357864&amp;nothumb=yes" target="_blank"><strong>2010-06-24_115143.png</strong></a> (15.94 KB)<br />
<div class="t_smallfont">2010-6-24 12:57</div>
</div>
<br />
</font><br />
<font color="#000000">修改之后的代码如下</font><br />
<font color="#000000">writer.write("&lt;a name=\"" + JR_PAGE_ANCHOR_PREFIX + reportIndex + "_" + (pageIndex + 1) + "\"&gt;&lt;/a&gt;\n");<br />
&nbsp; &nbsp;&nbsp;&nbsp;<br />
&nbsp; &nbsp;&nbsp;&nbsp;<font color="#0000ff">writer.write("&lt;div id='page"+ (pageIndex + 1)+"'&gt;\n");<br />
</font>&nbsp; &nbsp;&nbsp;&nbsp;</font><br />
<font color="#000000">&nbsp; &nbsp;&nbsp; &nbsp;/*&nbsp; &nbsp;*/<br />
&nbsp; &nbsp;&nbsp; &nbsp;exportPage(page);<br />
&nbsp; &nbsp;&nbsp;&nbsp;<br />
&nbsp; &nbsp;&nbsp;&nbsp;</font><font color="#0000ff">writer.write("&lt;/div&gt;\n");</font><br />
<font color="#000000">修改完这些之后我们就把<font color="#0000ff">jatoolsPrinter.cab</font>放在项目中html.jsp </font><br />
<font color="#000000"><font color="#0000ff">&lt;OBJECT ID="jatoolsPrinter" CLASSID="CLSID:B43D3361-D975-4BE2-87FE-057188254255" <br />
codebase="jatoolsPrinter.cab#version=5,3,0,0"&gt;&lt;/OBJECT&gt;</font><br />
</font><br />
<font color="#000000">codebase指定的位置这里指定的是和html.jsp同一<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%C2%B7%BE%B6">路径</span></font><br />
<font color="#000000"></font><span id="attach_243" onmouseover="showMenu(this.id, 0, 1)" style="display: none; position: absolute"><img src="http://bbs.jatools.com/images/default/attachimg.gif" border="0"  alt="" /></span> <img onmouseover="attachimginfo(this, 'attach_243', 1);attachimg(this, 'mouseover')" onmouseout="attachimginfo(this, 'attach_243', 0, event)" alt="" src="http://bbs.jatools.com/attachments/month_1006/20100624_562b0d5d1e008cd8ce9af98Z9OnrZN1n.png" onload="attachimg(this, 'load')" border="0" />
<div class="t_attach" id="attach_243_menu" style="display: none; position: absolute"><img class="absmiddle" alt="" src="http://bbs.jatools.com/images/attachicons/image.gif" border="0" /> <a href="http://bbs.jatools.com/attachment.php?aid=243&amp;k=6ca6200b1f2d219c41fb206b96efcc8f&amp;t=1277357864&amp;nothumb=yes" target="_blank"><strong>2010-06-24_115501.png</strong></a> (5.74 KB)<br />
<div class="t_smallfont">2010-6-24 12:57</div>
</div>
<br />
<font color="#000000">现在打开IE 运行 demo</font><br />
<font color="#000000">第一次运行会提示安装jatoolsprinter控件 选择安装ActiveX控件</font><br />
<br />
<span id="attach_244" onmouseover="showMenu(this.id, 0, 1)" style="display: none; position: absolute"><img src="http://bbs.jatools.com/images/default/attachimg.gif" border="0"  alt="" /></span> <img onmouseover="attachimginfo(this, 'attach_244', 1);attachimg(this, 'mouseover')" onmouseout="attachimginfo(this, 'attach_244', 0, event)" alt="" src="http://bbs.jatools.com/attachments/month_1006/20100624_5b11948a5e76e5ec03faO08C40o0Aci9.png" onload="attachimg(this, 'load')" border="0" />
<div class="t_attach" id="attach_244_menu" style="display: none; position: absolute"><img class="absmiddle" alt="" src="http://bbs.jatools.com/images/attachicons/image.gif" border="0" /> <a href="http://bbs.jatools.com/attachment.php?aid=244&amp;k=581100932e716355165f902af590a123&amp;t=1277357864&amp;nothumb=yes" target="_blank"><strong>2010-06-24_115740.png</strong></a> (16.11 KB)<br />
<div class="t_smallfont">2010-6-24 12:57</div>
</div>
<br />
<font color="#000000">点击安装</font><br />
<br />
<span id="attach_245" onmouseover="showMenu(this.id, 0, 1)" style="display: none; position: absolute"><img src="http://bbs.jatools.com/images/default/attachimg.gif" border="0"  alt="" /></span> <img onmouseover="attachimginfo(this, 'attach_245', 1);attachimg(this, 'mouseover')" onmouseout="attachimginfo(this, 'attach_245', 0, event)" alt="" src="http://bbs.jatools.com/attachments/month_1006/20100624_f0ab06385185f4c4f21c5U1LmKrfKSCL.png" onload="attachimg(this, 'load')" border="0" />
<div class="t_attach" id="attach_245_menu" style="display: none; position: absolute"><img class="absmiddle" alt="" src="http://bbs.jatools.com/images/attachicons/image.gif" border="0" /> <a href="http://bbs.jatools.com/attachment.php?aid=245&amp;k=7350bdf2d31c6afdecd9536b649d4f77&amp;t=1277357864&amp;nothumb=yes" target="_blank"><strong>2010-06-24_115843.png</strong></a> (14.6 KB)<br />
<div class="t_smallfont">2010-6-24 12:57</div>
</div>
<br />
<font color="#000000">点击打印预览<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%D0%A7%B9%FB">效果</span>如下</font><br />
<font color="#000000"><span id="attach_246" onmouseover="showMenu(this.id, 0, 1)" style="left: 215px; position: absolute; top: 5745px"><img src="http://bbs.jatools.com/images/default/attachimg.gif" border="0"  alt="" /></span> <img onmouseover="attachimginfo(this, 'attach_246', 1);attachimg(this, 'mouseover')" onmouseout="attachimginfo(this, 'attach_246', 0, event)" alt="" src="http://bbs.jatools.com/attachments/month_1006/20100624_16c3a623bb64e6dbeebfQVaOqJLX8CBb.png" onload="attachimg(this, 'load')" border="0" />
<div class="t_attach" id="attach_246_menu" style="display: none; position: absolute"><img class="absmiddle" alt="" src="http://bbs.jatools.com/images/attachicons/image.gif" border="0" /> <a href="http://bbs.jatools.com/attachment.php?aid=246&amp;k=ffc08d6377846a05a6082c92fae0eb27&amp;t=1277357864&amp;nothumb=yes" target="_blank"><strong>2010-06-24_115948.png</strong></a> (12.77 KB)<br />
<div class="t_smallfont">2010-6-24 12:57</div>
</div>
<br />
<br />
<br />
到此就可以在web页面中直接打印Jasperreport 报表了。<br />
</font>
<img src ="http://www.blogjava.net/three-3/aggbug/324329.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/three-3/" target="_blank">杨慕</a> 2010-06-24 13:08 <a href="http://www.blogjava.net/three-3/archive/2010/06/24/324329.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>简表(JOR)，开源报表工具</title><link>http://www.blogjava.net/three-3/archive/2009/10/23/299451.html</link><dc:creator>杨慕</dc:creator><author>杨慕</author><pubDate>Fri, 23 Oct 2009 02:32:00 GMT</pubDate><guid>http://www.blogjava.net/three-3/archive/2009/10/23/299451.html</guid><wfw:comment>http://www.blogjava.net/three-3/comments/299451.html</wfw:comment><comments>http://www.blogjava.net/three-3/archive/2009/10/23/299451.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.blogjava.net/three-3/comments/commentRss/299451.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/three-3/services/trackbacks/299451.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在eclipse中导入jor工程简表(JOR),是一款国产的开源java报表工具,核心代码来自于杰表2008.详情请访问官网 www.jatools.com/jor&nbsp;&nbsp; 简表的部署现提供两种方式.第一种通过 SVN 直接检出到ECLIPSE中SVN 地址 http://jatoolsopenreport.googlecode.com/svn/...&nbsp;&nbsp;<a href='http://www.blogjava.net/three-3/archive/2009/10/23/299451.html'>阅读全文</a><img src ="http://www.blogjava.net/three-3/aggbug/299451.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/three-3/" target="_blank">杨慕</a> 2009-10-23 10:32 <a href="http://www.blogjava.net/three-3/archive/2009/10/23/299451.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA报表</title><link>http://www.blogjava.net/three-3/articles/228184.html</link><dc:creator>杨慕</dc:creator><author>杨慕</author><pubDate>Wed, 10 Sep 2008 08:36:00 GMT</pubDate><guid>http://www.blogjava.net/three-3/articles/228184.html</guid><wfw:comment>http://www.blogjava.net/three-3/comments/228184.html</wfw:comment><comments>http://www.blogjava.net/three-3/articles/228184.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/three-3/comments/commentRss/228184.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/three-3/services/trackbacks/228184.html</trackback:ping><description><![CDATA[<p align="justify">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">最近一段时间一直在接触报表的制作，根据杰表用户手册上的例子做了一些报表，下面请看示例。</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有时候我们的报表需要对某一字段的数据用图示直观的表示出来，这个时候就需要用到今天所涉及到的功能。<br />
</p>
<div align="justify"><img alt="" src="http://www.blogjava.net/images/blogjava_net/three-3/2008-09-10_150158.jpg" border="0" />&nbsp; </div>
<p class="MsoNormal" style="text-indent: 21pt; mso-char-indent-count: 2.0" align="justify"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">以上图示展示的是把金额的值和数据集中最大的值做比较之后得到的比例。根据需要也可以做成在所有数据中所占比重。这些就因需求自行设计。下面我们来看下做出此效果的具体步骤。<br />
</span><span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">1</span><span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">：首先取得一个数据集。<br />
</p>
</span>
<div align="justify"><img alt="" src="http://www.blogjava.net/images/blogjava_net/three-3/2008-09-10_151431.jpg" border="0" /><br />
<br />
<span lang="EN-US">2</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：在杰表设计器中对表单进行设计。添加一列写上需要显示的名称。此处为金额比例<br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/three-3/2008-09-10_152455.jpg" border="0" /><br />
&nbsp; <span lang="EN-US">3</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：在修改的单元格内再加上一个</span><span lang="EN-US">Label<br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/three-3/2008-09-10_154606.jpg" border="0" /><br />
&nbsp; </div>
<p class="MsoNormal" style="text-indent: 21pt; mso-char-indent-count: 2.0" align="justify"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">标签</span><span lang="EN-US">(Label)</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象的父对象，是板（</span><span lang="EN-US">Panel</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">），板</span><span lang="EN-US">(Panel)</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象的父对象是行板（</span><span lang="EN-US">RowPanel</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">），行板（</span><span lang="EN-US">RowPanel</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）的父对象是表（</span><span lang="EN-US">Table</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">），表（</span><span lang="EN-US">Table</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）的父对象是页主体</span><span lang="EN-US">(PagePanel)</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，页主体的父对象是页</span><span lang="EN-US">(Page)</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象，由此可知，报表对象之间是存在层次关系的，</span></p>
<p class="MsoNormal" style="text-indent: 21pt; mso-char-indent-count: 2.0" align="justify"><span lang="EN-US">4</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：这时候就需要在</span><span lang="EN-US">Label</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的打印前事件（</span><span lang="EN-US">beforePrint</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）加上以下代码这是本例的关键。</span></p>
<div align="justify"><img alt="" src="http://www.blogjava.net/images/blogjava_net/three-3/2008-09-10_155852.jpg" border="0" /><br />
&nbsp; </div>
<p class="MsoNormal" align="justify"><span lang="EN-US">me.width=((int)(100.0*$.</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">金额</span><span lang="EN-US">/$.parent.</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">金额</span><span lang="EN-US">.max()));</span></p>
<p class="MsoNormal" align="justify"><span lang="EN-US">me.setWidth((int)(100.0 * $.</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数量</span><span lang="EN-US"> / $.parent.</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数量</span><span lang="EN-US">.max()));</span></p>
<p class="MsoNormal" align="justify"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">此处公式是金额和最大金额相除之后的比例。</span></p>
<p class="MsoNormal" align="justify"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">至于代码完全可以根据自己的需要设定他们的运算关系，在公式定义里杰表去除了很多语法约束，让我们完全可以灵活的操作。</span></p>
<p class="MsoNormal" align="justify"><span lang="EN-US">me.width=100*(int)(0+$.</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">金额</span><span lang="EN-US">)/(int)(0+$.parent.</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">金额</span><span lang="EN-US">.sum())</span></p>
<p class="MsoNormal" align="justify"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这段公式表示的是金额和所有金额总和的比例。</span></p>
<p class="MsoNormal" align="justify"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">然后保存模板就可以预览到效果了。</span></p>
<div align="justify"><br />
</span><br />
&nbsp; </span><br />
</div>
<div align="justify"><br />
</div>
<p align="justify"><br />
&nbsp;</p>
<p align="justify"></p>
</span><font face="宋体"></font><font face="宋体"></font>
<img src ="http://www.blogjava.net/three-3/aggbug/228184.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/three-3/" target="_blank">杨慕</a> 2008-09-10 16:36 <a href="http://www.blogjava.net/three-3/articles/228184.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]Tomcat中Context容器配置详解</title><link>http://www.blogjava.net/three-3/articles/228281.html</link><dc:creator>杨慕</dc:creator><author>杨慕</author><pubDate>Tue, 02 Sep 2008 08:26:00 GMT</pubDate><guid>http://www.blogjava.net/three-3/articles/228281.html</guid><wfw:comment>http://www.blogjava.net/three-3/comments/228281.html</wfw:comment><comments>http://www.blogjava.net/three-3/articles/228281.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/three-3/comments/commentRss/228281.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/three-3/services/trackbacks/228281.html</trackback:ping><description><![CDATA[
		
		<font color="#0000ff">Context元素代表一个web应用，运行在某个特定的虚拟主机上。如Servlet Specification 2.2或以后版本中描述的那样，每个web应用基于一个Web Application Archive(WAR)文件，或者是一个目录，包含WAR文件解压后的内容。有关Web Application Archive的更多信息，可以参考Servlet Specification和Tomcat 应用程序开发者指南。 <br>
通过将请求URI的最长可能前缀与每个Context的context路径进行匹配，Catalina选择相应的web 应用处理HTTP请求。一旦选定，根据web application deployment descriptor 文件中定义</font> <a href="http://hi.baidu.com/three%5Funcle/blog/item/a21b49ef93abcf30adafd504.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/three%5Funcle/blog/category/Tomcat">Tomcat</a>&nbsp;<a href="http://hi.baidu.com/three%5Funcle/blog/item/a21b49ef93abcf30adafd504.html#comment">查看评论</a><br>文章来源:<a href='http://hi.baidu.com/three%5Funcle/blog/item/a21b49ef93abcf30adafd504.html'>http://hi.baidu.com/three%5Funcle/blog/item/a21b49ef93abcf30adafd504.html</a><img src ="http://www.blogjava.net/three-3/aggbug/228281.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/three-3/" target="_blank">杨慕</a> 2008-09-02 16:26 <a href="http://www.blogjava.net/three-3/articles/228281.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]keep-generated-actionscript=true</title><link>http://www.blogjava.net/three-3/articles/228282.html</link><dc:creator>杨慕</dc:creator><author>杨慕</author><pubDate>Wed, 06 Aug 2008 01:57:00 GMT</pubDate><guid>http://www.blogjava.net/three-3/articles/228282.html</guid><wfw:comment>http://www.blogjava.net/three-3/comments/228282.html</wfw:comment><comments>http://www.blogjava.net/three-3/articles/228282.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/three-3/comments/commentRss/228282.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/three-3/services/trackbacks/228282.html</trackback:ping><description><![CDATA[
		
		<p>选择工程&gt;属性,然后在对话框左侧选择 Flex Complier,在additional compiler argument中加入 ---------（keep-generated-actionscript=true)</p>
<p> </p>
<p>-locale en_US -keep-generated-actionscript=true友情提醒-locale en_US和-keep-generated-actionscript=true中间有个空格。就这个空格害的我弄了一早上。。。</p> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/three%5Funcle/blog/category/Flex">Flex</a>&nbsp;<a href="http://hi.baidu.com/three%5Funcle/blog/item/3e82db82985beaa40df4d2cd.html#comment">查看评论</a><br>文章来源:<a href='http://hi.baidu.com/three%5Funcle/blog/item/3e82db82985beaa40df4d2cd.html'>http://hi.baidu.com/three%5Funcle/blog/item/3e82db82985beaa40df4d2cd.html</a><img src ="http://www.blogjava.net/three-3/aggbug/228282.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/three-3/" target="_blank">杨慕</a> 2008-08-06 09:57 <a href="http://www.blogjava.net/three-3/articles/228282.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]Flex中利用自定义项提供源在ComboBox下拉菜单中显示不同字体的例子</title><link>http://www.blogjava.net/three-3/articles/228283.html</link><dc:creator>杨慕</dc:creator><author>杨慕</author><pubDate>Wed, 06 Aug 2008 01:26:00 GMT</pubDate><guid>http://www.blogjava.net/three-3/articles/228283.html</guid><wfw:comment>http://www.blogjava.net/three-3/comments/228283.html</wfw:comment><comments>http://www.blogjava.net/three-3/articles/228283.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/three-3/comments/commentRss/228283.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/three-3/services/trackbacks/228283.html</trackback:ping><description><![CDATA[
		
		<ol class="hl-main ln-show" title="Double click to hide line number.">
    <li class="hl-firstline"><span style="color: olive">&lt;?</span><span style="color: green">xml</span><span style="color: gray"> </span><span style="color: #00008b">version</span><span style="color: gray">=</span><span style="color: #8b0000">&quot;</span><span style="color: red">1.0</span><span style="color: #8b0000">&quot;</span><span style="color: gray"> </span><span style="color: #00008b">encoding</span></li></ol> <a href="http://hi.baidu.com/three%5Funcle/blog/item/142226c2f0c9e81d0ff477f0.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/three%5Funcle/blog/category/Flex">Flex</a>&nbsp;<a href="http://hi.baidu.com/three%5Funcle/blog/item/142226c2f0c9e81d0ff477f0.html#comment">查看评论</a><br>文章来源:<a href='http://hi.baidu.com/three%5Funcle/blog/item/142226c2f0c9e81d0ff477f0.html'>http://hi.baidu.com/three%5Funcle/blog/item/142226c2f0c9e81d0ff477f0.html</a><img src ="http://www.blogjava.net/three-3/aggbug/228283.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/three-3/" target="_blank">杨慕</a> 2008-08-06 09:26 <a href="http://www.blogjava.net/three-3/articles/228283.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]FLEX 拖放数据2</title><link>http://www.blogjava.net/three-3/articles/228284.html</link><dc:creator>杨慕</dc:creator><author>杨慕</author><pubDate>Wed, 30 Jul 2008 08:22:00 GMT</pubDate><guid>http://www.blogjava.net/three-3/articles/228284.html</guid><wfw:comment>http://www.blogjava.net/three-3/comments/228284.html</wfw:comment><comments>http://www.blogjava.net/three-3/articles/228284.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/three-3/comments/commentRss/228284.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/three-3/services/trackbacks/228284.html</trackback:ping><description><![CDATA[
		
		<font color="#0000ff"><span class="mxmlCdata">&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;</span><br>
<span class="mxmlComponent">&lt;mx:Application</span> xmlns:mx=&quot;<span class="mxmlString">http://www.adobe.com/2006/mxml</span>&quot; layout=&quot;<span class="mxmlString">absolute</span>&quot;<span class="mxmlComponent">&gt;</span><br>
&nbsp;&nbsp;&nbsp;  <span class="mxmlTag">&lt;mx:Script&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  </font> <a href="http://hi.baidu.com/three%5Funcle/blog/item/21a7111383f8e2866438db27.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/three%5Funcle/blog/category/Flex">Flex</a>&nbsp;<a href="http://hi.baidu.com/three%5Funcle/blog/item/21a7111383f8e2866438db27.html#comment">查看评论</a><br>文章来源:<a href='http://hi.baidu.com/three%5Funcle/blog/item/21a7111383f8e2866438db27.html'>http://hi.baidu.com/three%5Funcle/blog/item/21a7111383f8e2866438db27.html</a><img src ="http://www.blogjava.net/three-3/aggbug/228284.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/three-3/" target="_blank">杨慕</a> 2008-07-30 16:22 <a href="http://www.blogjava.net/three-3/articles/228284.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]FLEX 拖放数据</title><link>http://www.blogjava.net/three-3/articles/228285.html</link><dc:creator>杨慕</dc:creator><author>杨慕</author><pubDate>Wed, 30 Jul 2008 08:21:00 GMT</pubDate><guid>http://www.blogjava.net/three-3/articles/228285.html</guid><wfw:comment>http://www.blogjava.net/three-3/comments/228285.html</wfw:comment><comments>http://www.blogjava.net/three-3/articles/228285.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/three-3/comments/commentRss/228285.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/three-3/services/trackbacks/228285.html</trackback:ping><description><![CDATA[
		
		<font color="#0000ff"><span class="mxmlCdata">&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;</span><br>
<span class="mxmlComponent">&lt;mx:Application</span> xmlns:mx=&quot;<span class="mxmlString">http://www.adobe.com/2006/mxml</span>&quot; layout=&quot;<span class="mxmlString">absolute</span>&quot;<span class="mxmlComponent">&gt;</span><br>
<br>
&nbsp;&nbsp;&nbsp;  <span class="mxmlTag">&lt;mx:Script&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  </font> <a href="http://hi.baidu.com/three%5Funcle/blog/item/b4c91c2fe28c003e1e308926.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/three%5Funcle/blog/category/Flex">Flex</a>&nbsp;<a href="http://hi.baidu.com/three%5Funcle/blog/item/b4c91c2fe28c003e1e308926.html#comment">查看评论</a><br>文章来源:<a href='http://hi.baidu.com/three%5Funcle/blog/item/b4c91c2fe28c003e1e308926.html'>http://hi.baidu.com/three%5Funcle/blog/item/b4c91c2fe28c003e1e308926.html</a><img src ="http://www.blogjava.net/three-3/aggbug/228285.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/three-3/" target="_blank">杨慕</a> 2008-07-30 16:21 <a href="http://www.blogjava.net/three-3/articles/228285.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]FLEX 树型xml添加与删除</title><link>http://www.blogjava.net/three-3/articles/228286.html</link><dc:creator>杨慕</dc:creator><author>杨慕</author><pubDate>Wed, 30 Jul 2008 08:01:00 GMT</pubDate><guid>http://www.blogjava.net/three-3/articles/228286.html</guid><wfw:comment>http://www.blogjava.net/three-3/comments/228286.html</wfw:comment><comments>http://www.blogjava.net/three-3/articles/228286.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/three-3/comments/commentRss/228286.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/three-3/services/trackbacks/228286.html</trackback:ping><description><![CDATA[
		
		<font color="#0000ff"><span class="mxmlCdata">&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;</span><br>
<span class="mxmlComponent">&lt;mx:Application</span> xmlns:mx=&quot;<span class="mxmlString">http://www.adobe.com/2006/mxml</span>&quot; viewSourceURL=&quot;<span class="mxmlString">src/index.html</span>&quot;<span class="mxmlComponent">&gt;</span><br>
&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  <span class="mxmlTag">&lt;mx:Script&gt;</span><br>
&nbsp;&nbsp;&nbsp;</font> <a href="http://hi.baidu.com/three%5Funcle/blog/item/685b2964c13b50f6f6365455.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/three%5Funcle/blog/category/Flex">Flex</a>&nbsp;<a href="http://hi.baidu.com/three%5Funcle/blog/item/685b2964c13b50f6f6365455.html#comment">查看评论</a><br>文章来源:<a href='http://hi.baidu.com/three%5Funcle/blog/item/685b2964c13b50f6f6365455.html'>http://hi.baidu.com/three%5Funcle/blog/item/685b2964c13b50f6f6365455.html</a><img src ="http://www.blogjava.net/three-3/aggbug/228286.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/three-3/" target="_blank">杨慕</a> 2008-07-30 16:01 <a href="http://www.blogjava.net/three-3/articles/228286.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>