<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>润乾软件</title>
	<atom:link href="http://www.runqian.com.cn/feed" rel="self" type="application/rss+xml" />
	<link>http://www.runqian.com.cn</link>
	<description>创新技术推动应用进步！</description>
	<lastBuildDate>Fri, 09 Sep 2011 15:38:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>如何修改下拉日历数据的显示格式</title>
		<link>http://www.runqian.com.cn/archives/4164.html</link>
		<comments>http://www.runqian.com.cn/archives/4164.html#comments</comments>
		<pubDate>Fri, 09 Sep 2011 15:38:40 +0000</pubDate>
		<dc:creator>ROS</dc:creator>
				<category><![CDATA[设计基础]]></category>
		<category><![CDATA[下拉日历]]></category>
		<category><![CDATA[报表数据]]></category>
		<category><![CDATA[显示格式]]></category>

		<guid isPermaLink="false">http://www.runqian.com.cn/archives/4164.html</guid>
		<description><![CDATA[介绍如何通过修改文件来修改下拉日历数据的显示格... ]]></description>
			<content:encoded><![CDATA[<p>    对于普通单元格我们可以通过显示格式来控制日期型数据，或者日期时间型数据的显示格式。但是如果单元格编辑风格时下拉日历的话，我们设置的显示格式就不起作用了。比如说客户想把“yyyy-mm-dd”改成“yyyy年mm月dd日”。通过自定义下拉日历控件是可以实现的。但是就为了一个显示格式就去定义一个控件，客户可能会觉得很麻烦，下面就提供一种简单的方法来修改，下拉日历控件的显示格式。<br />
  首先在应用下找到WEB-INF/lib下找到datetimeformat.jar这个jar包，然后用WinRar文件管理器打开，里面有两个文件“datetimeformat_zh.properties”和 “datetimeformat_en.properties”打开这两个文件发现里面的内容是一样的。</p>
<p>date=yyyy-MM-dd<br />
time=HH:mm:ss<br />
datetime=yyyy-MM-dd HH:mm:ss</p>
<p>这里我们把date、time、datetime修改成我们想要的格式，例如：</p>
<p>date=yyyy/MM/dd<br />
time=HH:mm:ss<br />
datetime=yyyy/MM/dd HH:mm:ss</p>
<p>    具体这两个文件的区别我也不清楚，把这两个文件修改好后保存。然后重新启动一下应用服务器。再做一张简单的报表<br />
<img style="width: 446px; height: 129px;" src="/wp-content/uploads/2011/09/748ea086-57f5-42f0-acae-afca372e192d.png" border="0" alt="" width="886" height="355" /></p>
<p>    然后在浏览器下发布这张报表用日历随便选择一个日期。显示效果如下：</p>
<p><img src="/wp-content/uploads/2011/09/798926e3-426c-408e-be29-dc660668f3de.png" border="0" alt="" /><br />
   这样通过简单的修改两个文件就能改变下拉日历的显示格式了。<br />
<!-- keywords:报表设计,报表制作,Java报表,报表技术,web报表,显示格式,下拉日历,报表数 --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.runqian.com.cn/archives/4164.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>卡片式报表的增删改</title>
		<link>http://www.runqian.com.cn/archives/4159.html</link>
		<comments>http://www.runqian.com.cn/archives/4159.html#comments</comments>
		<pubDate>Wed, 07 Sep 2011 17:47:18 +0000</pubDate>
		<dc:creator>ROS</dc:creator>
				<category><![CDATA[设计基础]]></category>
		<category><![CDATA[卡片式报表]]></category>
		<category><![CDATA[报表模版]]></category>
		<category><![CDATA[插入行]]></category>

		<guid isPermaLink="false">http://www.runqian.com.cn/archives/4159.html</guid>
		<description><![CDATA[介绍如何利用报表模版实现卡片式报表的新增、修改和删除... ]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal"><span><strong>需求背景：</strong></span></p>
<p class="MsoNormal"><span>对于行式报表可利用其提供的默认的插入，删除，追加行功能完成数据库记录的增删改操作。对于卡片式报表，一条记录在不固定行上进行显示，要实现对记录的增删改操作，需要建立不同的报表模板来实现。客户需求为根据用户输入的</span><span>id</span><span>，查找数据库表，如果有记录则显示查询结果，并可进行修改和删除。若无</span><span>id</span><span>对应的记录，则允许用户新建，用户录入数据提交会在数据库表中插入新记录。</span></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><span><strong>实现思路：</strong></span></p>
<p class="MsoListParagraph" style="text-indent: -18pt; margin-left: 18pt;"><span><span>1．<span style="font: 7pt 'Times New Roman';">  </span></span></span><span>卡片式报表的新增和修改，用参数表单</span><span>+</span><span>卡片式填报表实现。</span></p>
<p class="MsoListParagraph" style="text-indent: -18pt; margin-left: 18pt;"><span><span>2．<span style="font: 7pt 'Times New Roman';">  </span></span></span><span>卡片式报表的删除可单独建立一张报表，该报表接收传入的</span><span>id</span><span>参数，并根据</span><span>id</span><span>删除数据库相应记录。</span></p>
<p class="MsoListParagraph" style="text-indent: -18pt; margin-left: 18pt;"> </p>
<p class="MsoListParagraph" style="text-indent: -18pt; margin-left: 18pt;"><span></p>
<p class="MsoNormal"><span><strong>具体实现：</strong></span></p>
<p class="MsoListParagraph" style="text-indent: -18pt; margin-left: 18pt;"><span><span>1.<span style="font: 7pt 'Times New Roman';">       </span></span></span><span>卡片式报表新增和修改功能实现：</span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span>a.</span><span>报表模板：</span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span>报表参数</span><span>spid</span><span>，该参数为用户输入的参数。数据集会根据该参数检索数据库表，查询是否有相应记录。</span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span>模板设计如下：</span></p>
<p></span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><a name="OLE_LINK40"><span><img src="/wp-content/uploads/2011/09/1b3ec5a1-f8ec-43c1-baa3-de089fc1af6b.jpg" alt="" width="554" height="356" /></span></a></p>
<p class="MsoListParagraph" style="text-align: left; text-indent: 0cm; margin-left: 18pt;"><span>其中第二行的隐藏行用表达式控制，</span><span>if(ds1.count()==0,false,true)</span><span>，如果没有<span>找到相应记录显示“编码小票不存在”，用户可填写单元格值，利用填报功能在数据表中插入相应记录。如果有记录则显示该记录，用户修改单元格值后，利用填报功能可在数据库中更新相应记录。</span></span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span>第三行的隐藏行属性同样用表达式控制，</span><span>if(ds1.count()&gt;0,false,true),</span><span>如果数据库中查找到相应记录，显示</span><span>”</span><span>删除</span><span>”</span><span>按钮，可通过按钮删除该条记录。</span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span>N3</span><span>单元格的超链接属性：</span><span>&#8220;javascript:del(&#8220;+A6+&#8221;,&#8221;+N1+&#8221;)&#8221;</span><span>，其中</span><span>del</span><span>函数在报表展现页面中定义。</span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span>该报表为普通填报表，设计步骤不详细描述。</span></p>
<p> </p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span>b.</span><span>报表发布页面部分代码：</span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span>……</span></p>
<p class="MsoNormal" style="text-indent: 31.5pt;"><span>&lt;script language=&#8221;javascript&#8221;&gt;</span></p>
<p class="MsoNormal" style="text-indent: 31.5pt;"><span>//</span><span>删除按钮调用的</span><span>js</span><span>函数</span></p>
<p class="MsoListParagraph" style="margin-left: 18pt;"><span>function del(spid,bxmpid)</span></p>
<p class="MsoListParagraph" style="margin-left: 18pt;"><span>{</span></p>
<p class="MsoListParagraph" style="margin-left: 18pt;"><span>if(confirm(&#8220;</span><span>确定要删除记录吗</span><span>?&#8221;))</span></p>
<p class="MsoListParagraph" style="margin-left: 18pt;"><span>window.open(&#8220;BMXP_Delete.jsp?raq=delete_BMXP.raq&amp;spbm=&#8221;+spid+&#8221;&amp;bmxp_id=&#8221;+bxmpid);</span></p>
<p class="MsoListParagraph" style="margin-left: 18pt;"><span>}</span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span><span>           </span>&lt;/script&gt;</span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span>……</span></p>
<p class="MsoListParagraph" style="margin-left: 17.95pt;"><span>//</span><span>分别发布参数表单及结果报表模板</span></p>
<p class="MsoListParagraph" style="margin-left: 18pt;"><span>&lt;report:param name=&#8221;form1&#8243; paramFileName=&#8221;BMXP_result_arg.raq&#8221;</span></p>
<p class="MsoListParagraph" style="margin-left: 18pt;"><span><span>                    </span>needSubmit=&#8221;no&#8221;</span></p>
<p class="MsoListParagraph" style="margin-left: 18pt;"><span><span>                    </span>params=&#8221;&lt;%=param.toString()%&gt;&#8221;</span></p>
<p class="MsoListParagraph" style="margin-left: 18pt;"><span>/&gt;</span></p>
<p class="MsoNormal" style="text-indent: 15.75pt;"><span>……</span></p>
<p class="MsoListParagraph" style="margin-left: 18pt;"><span>&lt;report:html name=&#8221;report1&#8243; reportFileName=&#8221;BMXP_result.raq&#8221;</span></p>
<p class="MsoListParagraph" style="margin-left: 18pt;"><span><span>                    </span>funcBarLocation=&#8221;top&#8221;</span></p>
<p class="MsoListParagraph" style="margin-left: 18pt;"><span><span>                    </span>needPageMark=&#8221;yes&#8221;</span></p>
<p class="MsoListParagraph" style="margin-left: 18pt;"><span><span>                    </span>generateParamForm=&#8221;no&#8221;</span></p>
<p class="MsoListParagraph" style="margin-left: 18pt;"><span><span>                    </span>needImportExcel=&#8221;yes&#8221;</span></p>
<p class="MsoListParagraph" style="margin-left: 18pt;"><span><span>                    </span>params=&#8221;&lt;%=param.toString()%&gt;&#8221;</span></p>
<p class="MsoListParagraph" style="margin-left: 18pt;"><span><span>                    </span>width=&#8221;-1&#8243;</span></p>
<p class="MsoListParagraph" style="margin-left: 18pt;"><span><span>                    </span>exceptionPage=&#8221;/reportJsp/myError2.jsp&#8221;</span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span><span>           </span>/&gt;</span></p>
<p class="MsoListParagraph" style="text-indent: -18pt; margin-left: 18pt;"><span><span>2.<span style="font: 7pt 'Times New Roman';">       </span></span></span><span>卡片式报表删除功能实现</span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span>a.</span><span>模板设计：</span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span>报表参数：</span><span>spbm</span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span><span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span><img src="/wp-content/uploads/2011/09/7015c5dd-ef0d-4c9a-ba9e-fb97953da688.jpg" alt="" width="190" height="75" /><span> </span></span></p>
<p> </span></span><br />
 </p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span>其中</span><span>A1</span><span>单元格：</span><span>=query2(&#8220;wfdb1&#8243;,&#8221;delete from bi_bmxp where bmxp_spdm=?&#8221;,spbm)</span><span>，调用</span><span>query2</span><span>函数执行</span><span>sql</span><span>语句根据传入</span><span>id</span><span>删除数据库相应记录</span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span>b.</span><span>删除页面部分代码：</span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span>……</span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span>&lt;body topmargin=0 leftmargin=0 rightmargin=0 bottomMargin=0 onunload=&#8221;btn_Onload();&#8221;&gt;</span></p>
<p class="MsoListParagraph" style="margin-left: 18pt;"><span>&lt;script language=&#8221;JavaScript&#8221; type=&#8221;text/javascript&#8221;&gt;</span></p>
<p class="MsoListParagraph" style="margin-left: 18pt;"><span>&lt;!&#8211;</span><span>当前页面关闭时，刷新父窗口内容，可以看到记录结果已经删除。</span><span>&#8211;&gt;</span></p>
<p class="MsoListParagraph" style="margin-left: 18pt;"><span>function btn_Onload(){</span></p>
<p class="MsoListParagraph" style="margin-left: 18pt;"><span><span>  </span>window.opener.location.reload();</span></p>
<p class="MsoListParagraph" style="margin-left: 18pt;"><span><span>  </span>window.close();</span></p>
<p class="MsoListParagraph" style="margin-left: 18pt;"><span>}</span></p>
<p class="MsoListParagraph" style="margin-left: 18pt;"> </p>
<p class="MsoListParagraph" style="margin-left: 18pt;"> </p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span>&lt;/script&gt;</span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span>……</span></p>
<p class="MsoNormal" style="text-indent: 31.5pt;"><span>&lt;report:html name=&#8221;report1&#8243; reportFileName=&#8221;delete_BMXP.raq&#8221;</span></p>
<p class="MsoListParagraph" style="margin-left: 18pt;"><span><span>                    </span>funcBarLocation=&#8221;top&#8221;</span></p>
<p class="MsoListParagraph" style="margin-left: 18pt;"><span><span>                    </span>exceptionPage=&#8221;/reportJsp/myError2.jsp&#8221;</span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span><span>           </span>/&gt;</span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span>当然删除功能可以用</span><span>java</span><span>代码来实现，本例是利用报表模板实现了，避免了自己编写代码。</span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span><strong></strong></span> </p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span><strong>实现效果：</strong></span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span>1.</span><span>当输入代码，数据库没有相应记录，提示“编码小票不存在”，用户填入数据点提交可以在数据库中新增记录。</span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span><img src="/wp-content/uploads/2011/09/6b706f89-71de-46f9-a5ba-4641d8aceab4.jpg" alt="1.bmp" width="554" height="414" /></span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span>2. </span><span>当输入代码，数据库有相应记录，用户可修改数据，点提交可以在数据库中更新记录。</span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span><img src="/wp-content/uploads/2011/09/82042e7c-fdff-44f7-bd38-e1cdf5d19072.jpg" alt="2.bmp" width="554" height="429" /></span></p>
<p class="MsoListParagraph" style="text-indent: -18pt; margin-left: 18pt;"><span><span>1.<span style="font: 7pt 'Times New Roman';">       </span></span></span><span>在有相应记录情况下，点击上图中的删除，会删除相应记录，关闭窗口会刷新原来查询的页面，原来的页面会显示“该编码小票不存在！”</span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span><img src="/wp-content/uploads/2011/09/ede91171-7eea-43b5-8d64-03022175891e.jpg" alt="" width="447" height="311" /></span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin-left: 18pt;"><span><img src="/wp-content/uploads/2011/09/c690741c-9d08-4e26-8401-60f6faead2e1.jpg" alt="3.bmp" width="554" height="430" /></span></p>
<p> <br />
<!-- keywords:报表设计,报表制作,Java报表,报表技术,web报表,卡片式报表,插入行,报表模 --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.runqian.com.cn/archives/4159.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>报表中使用fckEditor</title>
		<link>http://www.runqian.com.cn/archives/4152.html</link>
		<comments>http://www.runqian.com.cn/archives/4152.html#comments</comments>
		<pubDate>Tue, 06 Sep 2011 17:36:33 +0000</pubDate>
		<dc:creator>ROS</dc:creator>
				<category><![CDATA[设计基础]]></category>
		<category><![CDATA[报表展现]]></category>
		<category><![CDATA[自定义]]></category>

		<guid isPermaLink="false">http://www.runqian.com.cn/archives/4152.html</guid>
		<description><![CDATA[润乾报表中不仅提供了多种填报编辑风格，还支持自定义控件，可以实现客户的多种展现需求... ]]></description>
			<content:encoded><![CDATA[<div class="Section1" style="layout-grid: 15.6pt none;">
<h1 style="text-align: center;"><span>报表中使用</span><span>fckEditor</span></h1>
<h2><span>需求分析：</span></h2>
<p class="MsoNormal" style="text-align: left; text-indent: 21pt;"><span>客户想在报表展示的时候可以实时的对输入文本的样式进行控制，润乾中提供了多种填报编辑风格，并不能实现客户该需求，但润乾支持自定义控件，我们还可以考虑通过已有的</span><span>fckEditor</span><span>组件来实现该需求。</span></p>
<h2><span>需求实现：</span></h2>
<p class="MsoNormal" style="text-align: left; text-indent: 17.85pt; margin-left: 0cm;"><span><span>1.<span style="font: 7pt 'Times New Roman';">           </span></span></span><span>设计报表，将</span><span>C10</span><span>单元格数据类型设置为</span><span>HTML</span><span>，单元格中内容为“</span><span>&lt;textarea id=&#8221;content&#8221; name=&#8221;content&#8221; style=&#8221;WIDTH: 100%; HEIGHT: 400px&#8221;&gt;&lt;/textarea&gt;</span><span>”，详细设置如下图所示：</span></p>
<p class="MsoNormal" style="text-align: left;"><span><img src="/wp-content/uploads/2011/09/79bea7fd-eadf-4777-ac39-fc23e8cbdd16.jpg" alt="" width="369" height="266" /></span></p>
<p class="MsoNormal" style="text-align: left; text-indent: 21pt;"><span>2</span><span>．在工程中加上</span><span>fck</span><span>组件，把</span><span>WebContent</span><span>下除了</span><span>web-inf</span><span>文件夹之外全部拷到你工程的</span><span>root</span><span>下。</span></p>
<p class="MsoNormal" style="text-align: left; text-indent: 21pt;"><span>3.</span><span>在工程中的</span><span>web.xml</span><span>中加入以下的配置信息。</span></p>
<p class="MsoNormal" style="text-align: left;"><span>&lt;servlet&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                   </span>&lt;servlet-name&gt;Connector&lt;/servlet-name&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                   </span>&lt;servlet-class&gt;com.fredck.FCKeditor.connector.ConnectorServlet&lt;/servlet-class&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                   </span>&lt;init-param&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                            </span>&lt;param-name&gt;baseDir&lt;/param-name&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                            </span>&lt;param-value&gt;/UserFiles/&lt;/param-value&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                   </span>&lt;/init-param&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                   </span>&lt;init-param&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                            </span>&lt;param-name&gt;debug&lt;/param-name&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                            </span>&lt;param-value&gt;true&lt;/param-value&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                   </span>&lt;/init-param&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                   </span>&lt;load-on-startup&gt;1&lt;/load-on-startup&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>         </span>&lt;/servlet&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"> </p>
<p class="MsoNormal" style="text-align: left;"><span><span>         </span>&lt;servlet&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                   </span>&lt;servlet-name&gt;SimpleUploader&lt;/servlet-name&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                   </span>&lt;servlet-class&gt;com.fredck.FCKeditor.uploader.SimpleUploaderServlet&lt;/servlet-class&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                   </span>&lt;init-param&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                            </span>&lt;param-name&gt;baseDir&lt;/param-name&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                            </span>&lt;param-value&gt;/UserFiles/&lt;/param-value&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                   </span>&lt;/init-param&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                   </span>&lt;init-param&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                            </span>&lt;param-name&gt;debug&lt;/param-name&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                            </span>&lt;param-value&gt;true&lt;/param-value&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                   </span>&lt;/init-param&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                   </span>&lt;init-param&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                            </span>&lt;param-name&gt;enabled&lt;/param-name&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                            </span>&lt;param-value&gt;true&lt;/param-value&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                   </span>&lt;/init-param&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                   </span>&lt;init-param&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                            </span>&lt;param-name&gt;AllowedExtensionsFile&lt;/param-name&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                            </span>&lt;param-value&gt;&lt;/param-value&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                   </span>&lt;/init-param&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                   </span>&lt;init-param&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                            </span>&lt;param-name&gt;DeniedExtensionsFile&lt;/param-name&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                            </span>&lt;param-value&gt;php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi&lt;/param-value&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                   </span>&lt;/init-param&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                   </span>&lt;init-param&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                            </span>&lt;param-name&gt;AllowedExtensionsImage&lt;/param-name&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                            </span>&lt;param-value&gt;jpg|gif|jpeg|png|bmp&lt;/param-value&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                   </span>&lt;/init-param&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                   </span>&lt;init-param&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                            </span>&lt;param-name&gt;DeniedExtensionsImage&lt;/param-name&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                            </span>&lt;param-value&gt;&lt;/param-value&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                   </span>&lt;/init-param&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                   </span>&lt;init-param&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                            </span>&lt;param-name&gt;AllowedExtensionsFlash&lt;/param-name&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                            </span>&lt;param-value&gt;swf|fla&lt;/param-value&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                   </span>&lt;/init-param&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                   </span>&lt;init-param&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                            </span>&lt;param-name&gt;DeniedExtensionsFlash&lt;/param-name&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                            </span>&lt;param-value&gt;&lt;/param-value&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                   </span>&lt;/init-param&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>                   </span>&lt;load-on-startup&gt;1&lt;/load-on-startup&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>         </span>&lt;/servlet&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>  </span>&lt;servlet-mapping&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>    </span>&lt;servlet-name&gt;Connector&lt;/servlet-name&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>    </span>&lt;url-pattern&gt;/editor/filemanager/browser/default/connectors/jsp/connector&lt;/url-pattern&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>  </span>&lt;/servlet-mapping&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>  </span></span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>  </span>&lt;servlet-mapping&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>    </span>&lt;servlet-name&gt;SimpleUploader&lt;/servlet-name&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>    </span>&lt;url-pattern&gt;/editor/filemanager/upload/simpleuploader&lt;/url-pattern&gt;</span></p>
<p class="MsoNormal" style="text-align: left;"><span><span>  </span>&lt;/servlet-mapping&gt;</span></p>
<p class="MsoNormal" style="text-align: left; text-indent: 21pt;"><span>4.</span><span>在应用中导入包，在发布报表的</span><span>JSP</span><span>中引入组件所使用的</span><span>JS</span><span>。</span></p>
<p class="MsoNormal" style="text-align: left; text-indent: 21pt;"><span>5.</span><span>发布应用访问报表，我们能看到可编辑输入字体样式的ＦＣＫ组件就成功的与报表结合了。</span></p>
<p class="MsoNormal" style="text-align: center;"><span><img src="/wp-content/uploads/2011/09/835dac7a-7b2b-4507-83f8-5827a956bd99.jpg" alt="" width="343" height="284" /></span></p>
<p class="MsoNormal" style="text-align: left;"><span>当你编辑完该单元格中的内容后，可以点击左侧的上三角将其收起，方便我们查看输入的内容。</span></p>
<p class="MsoNormal" style="text-align: center;"><span><img src="/wp-content/uploads/2011/09/a8388538-6909-498f-80ea-47a487af4d2d.jpg" alt="" width="349" height="300" /></span></p>
<h2><span>需求总结：</span></h2>
<p class="MsoNormal" style="text-align: left; text-indent: 21pt;"><span>本例只是在报表中引入</span><span>FCK</span><span>组件，而在实际应用中对于这种可输入的报表我们最终都是以入库为目的的，但是按照我们通常设置单元格更新属性的方式获得的只是单元格的内容，并不带有相应的样式，所以为了我们的ＦＣＫ有着实际的意义，我们需要采取其他方式入库，关于入库方式会在后续的文档中介绍。</span></p>
</div>
<p><!-- keywords:报表设计,报表制作,Java报表,报表技术,web报表,报表展现,自定 --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.runqian.com.cn/archives/4152.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>动态列的实现</title>
		<link>http://www.runqian.com.cn/archives/4142.html</link>
		<comments>http://www.runqian.com.cn/archives/4142.html#comments</comments>
		<pubDate>Fri, 02 Sep 2011 17:10:59 +0000</pubDate>
		<dc:creator>ROS</dc:creator>
				<category><![CDATA[设计基础]]></category>
		<category><![CDATA[动态列]]></category>

		<guid isPermaLink="false">http://www.runqian.com.cn/archives/4142.html</guid>
		<description><![CDATA[详细介绍在润乾报表设计中动态列的实... ]]></description>
			<content:encoded><![CDATA[<p>客户需求：<br />
网格式报表，希望不用在单元格中手动输入每列（也就是对应表中的字段）的字段值，如下图：<br />
 <img src="/wp-content/uploads/2011/08/41314890-b97b-4361-b4bf-3729c2547c35.jpg" border="0" alt="" align="middle" /><br />
而是根据数据库表的字段个数，报表动态扩展列数。<br />
解决方案：<br />
1、 使用eval()，通过动态解析并计算表达式，实现列的扩展；<br />
2、 使用ds.colCount()，获得数据集的列数；<br />
3、 使用ds.fieldName()，根据列号取数据集的列名。<br />
使用这三个函数就能实现客户的需求了，具体做法如下：<br />
我们使用demo中的“订单”这张表为例，SQL语法为：SELECT * FROM 订单，表中的单元格写法如图：<br />
 <img src="/wp-content/uploads/2011/08/597f6d5f-1570-44fb-b5a6-c96015f65526.jpg" border="0" alt="" align="middle" /><br />
最终调整单元格大小后，预览如下图：<br />
 <img src="/wp-content/uploads/2011/08/1e5885ec-56e6-4d29-96a1-8400e69dba0a.jpg" border="0" alt="" align="middle" /><br />
<!-- keywords:报表设计,报表制作,Java报表,报表技术,web报表,动态 --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.runqian.com.cn/archives/4142.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>自定义报表组</title>
		<link>http://www.runqian.com.cn/archives/4138.html</link>
		<comments>http://www.runqian.com.cn/archives/4138.html#comments</comments>
		<pubDate>Thu, 01 Sep 2011 16:56:59 +0000</pubDate>
		<dc:creator>ROS</dc:creator>
				<category><![CDATA[设计基础]]></category>
		<category><![CDATA[报表展现]]></category>
		<category><![CDATA[自定义报表]]></category>

		<guid isPermaLink="false">http://www.runqian.com.cn/archives/4138.html</guid>
		<description><![CDATA[在对于查询报表可以把页面分成几个标签页用DIV来控制展示，这样打开报表的时候就只查看打开报表的数据，解决展现慢的问题，最后在导出的时候用api的方式把几个报表生成一个报表组就可... ]]></description>
			<content:encoded><![CDATA[<p><strong>需求描述：<br />
</strong>          客户想实现把相关联的报表在一个页面展示出来，这个可以用我们润乾提供了报表组功能来实现他的要求，但是客户发现如果数据量很大，报表组很多的时候报表展现会很慢，测试发现报表组是把所有组的报表在第一次打开的时候就把报表全部查询了一次，就出来了展现速度慢的问题。<br />
<img src="/wp-content/uploads/2011/08/45fbfe4d-ccba-4a60-801c-9b86bd3f8587.jpg" border="0" alt="" /><br />
<strong>解决办法</strong>：<br />
         在对于查询报表可以把页面分成几个标签页用DIV来控制展示，这样打开报表的时候就只查我打开报表的数据，展现慢的问题就解决了，最后在导出的时候用api的方式把几个报表生成一个报表组就可以了。<br />
第一步：做标签页<br />
&lt;BODY&gt;<br />
&lt;DIV id=con style=&#8221;width: 100%;height: 100%&#8221;&gt;<br />
    &lt;UL id=tags style=&#8221;width: 100%&#8221;&gt;<br />
        &lt;LI&gt;&lt;A onClick=&#8221;selectTag(&#8216;tagContent0&#8242;,this)&#8221; href=&#8221;javascript:void(0)&#8221;&gt;报表一&lt;/A&gt;&lt;/LI&gt;<br />
        &lt;LI class=selectTag&gt;&lt;A onClick=&#8221;selectTag(&#8216;tagContent1&#8242;,this)&#8221; href=&#8221;javascript:void(0)&#8221;&gt;报表二&lt;/A&gt; &lt;/LI&gt;<br />
        &lt;LI&gt;&lt;A onClick=&#8221;selectTag(&#8216;tagContent2&#8242;,this)&#8221; href=&#8221;javascript:void(0)&#8221;&gt;导出报表组功能&lt;/A&gt; &lt;/LI&gt;<br />
    &lt;/UL&gt;<br />
    &lt;DIV id=tagContent style=&#8221;width: 100%;height: 95%&#8221;&gt;<br />
        &lt;DIV class=tagContent id=tagContent0 style=&#8221;width: 100%;height: 100%&#8221;&gt;<br />
            &lt;iframe src=&#8221;../../reportJsp/gaoji.jsp?raq=zunei.raq&#8221; width=&#8221;100%&#8221; height=&#8221;100%&#8221;&gt;&lt;/iframe&gt;<br />
        &lt;/DIV&gt;<br />
        &lt;DIV class=&#8221;tagContent selectTag&#8221; id=tagContent1  style=&#8221;width: 100%;height: 100%&#8221;&gt;<br />
          &lt;iframe src=&#8221;../../reportJsp/gaoji.jsp?raq=tongqibitwo.raq&#8221; width=&#8221;100%&#8221; height=&#8221;100%&#8221;&gt;&lt;/iframe&gt;<br />
        &lt;/DIV&gt;<br />
        &lt;DIV class=tagContent id=tagContent2  style=&#8221;width: 100%&#8221;&gt;<br />
            &lt;iframe src=&#8221;zu.jsp&#8221; width=&#8221;100%&#8221; height=&#8221;100%&#8221;&gt;&lt;/iframe&gt;<br />
        &lt;/DIV&gt;<br />
    &lt;/DIV&gt;<br />
&lt;/DIV&gt;<br />
&lt;SCRIPT type=text/javascript&gt;<br />
function selectTag(showContent,selfObj){<br />
    // 标签<br />
    var tag = document.getElementById(&#8220;tags&#8221;).getElementsByTagName(&#8220;li&#8221;);<br />
    var taglength = tag.length;<br />
    for(i=0; i&lt;taglength; i++){<br />
    tag[i].className = &#8220;&#8221;;<br />
    }<br />
    selfObj.parentNode.className = &#8220;selectTag&#8221;;<br />
    // 标签内容<br />
    for(i=0; j=document.getElementById(&#8220;tagContent&#8221;+i); i++){<br />
   <br />
    j.style.display = &#8220;none&#8221;;<br />
    }<br />
    document.getElementById(showContent).style.display = &#8220;block&#8221;;<br />
}<br />
&lt;/SCRIPT&gt;<br />
&lt;/BODY&gt;<br />
第二步：api生成报表组<br />
List&lt;String&gt; list = new ArrayList&lt;String&gt;();<br />
String path=request.getSession().getServletContext().getRealPath(&#8220;reportFiles\\高级报表&#8221;);<br />
list.add(path+&#8221;/tongqibitwo.raq&#8221;);<br />
list.add(path+&#8221;/zunei.raq&#8221;);<br />
out.println(&#8220;生成&#8221;+list.size()+&#8221;个raq文件  目录 &#8220;+path+&#8221;/baobiaozu.xls&#8221;);<br />
ExcelReport er = new ExcelReport();<br />
for(int i = 0; i&lt;list.size(); i++){<br />
ReportDefine rd = (ReportDefine)ReportUtils.read(list.get(i));<br />
Context ctx = new Context();<br />
Engine engine = new Engine(rd,ctx);<br />
IReport ireport = engine.calc();<br />
er.export(&#8220;sheet_&#8221;+String.valueOf(i),ireport);<br />
}<br />
er.saveTo(path+&#8221;/baobiaozu.xls&#8221;);<br />
<img src="/wp-content/uploads/2011/08/26cf5d54-2e08-4300-9904-80927c8f468a.jpg" border="0" alt="" /><br />
<!-- keywords:报表设计,报表制作,Java报表,报表技术,web报表,报表展现,自定义报 --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.runqian.com.cn/archives/4138.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>报表的返回按钮</title>
		<link>http://www.runqian.com.cn/archives/4135.html</link>
		<comments>http://www.runqian.com.cn/archives/4135.html#comments</comments>
		<pubDate>Wed, 31 Aug 2011 15:41:29 +0000</pubDate>
		<dc:creator>ROS</dc:creator>
				<category><![CDATA[设计基础]]></category>
		<category><![CDATA[函数]]></category>
		<category><![CDATA[返回按钮]]></category>

		<guid isPermaLink="false">http://www.runqian.com.cn/archives/4135.html</guid>
		<description><![CDATA[在报表中通过超链接连接到一张报表之后，比如通过“订单”表链接到“订单明细”表查看订单的详情之后需要返回到“订单”表。这个时候客户希望报表之上能有一个返回功能的按钮，通过... ]]></description>
			<content:encoded><![CDATA[<h1 style="text-indent: 21pt; margin-left: 84pt;"><span>润乾报表的返回按钮</span></h1>
<p class="MsoNormal"><span>在报表中通过超链接连接到一张报表之后，比如通过“订单”表链接到“订单明细”表查看订单的详情之后需要返回到“订单”表。这个时候客户希望报表之上能有一个返回功能的按钮，通过点击这个按钮返回到上一个页面，而不是通过点击浏览器的回退按钮来实现。</span></p>
<p class="MsoNormal"><span>实现这个功能用一个简单的</span><span>js</span><span>即可。下面一起来看一下具体步骤：</span></p>
<p class="MsoNormal"><span>首先，新建两张报表：</span></p>
<p class="MsoNormal"><span>订单</span><span>.raq</span></p>
<p class="MsoNormal"><span><img src="/wp-content/uploads/2011/08/e48d22eb-20c9-4583-b61c-cbb7c09b80c3.jpg" alt="" width="445" height="77" /></span></p>
<p class="MsoNormal"><span>并添加一个整数类型的参数：</span><span>arg1</span></p>
<p class="MsoNormal"><span>D2</span><span>是一个带超链接的单元格，内容是：</span><span>&#8216;./showReport.jsp?raq=/</span><span>订单明细</span><span>.raq&amp;arg1=&#8217;+A2</span></p>
<p class="MsoNormal"><span>订单明细</span><span>.raq</span></p>
<p class="MsoNormal"><span><img src="/wp-content/uploads/2011/08/6b18efe6-b5e6-4dfd-85ea-ae5ca01af172.jpg" alt="" width="426" height="99" /></span></p>
<p class="MsoNormal"><span>给“订单明细</span><span>.raq</span><span>”也添加一个名为</span><span>arg1</span><span>的整数型参数。</span></p>
<p class="MsoNormal"><span>A3</span><span>中的内容是：</span><span>=ds1.Select(</span><span>订单</span><span>ID,,</span><span>订单</span><span>ID==@arg1)</span><span>，这里是做一个判断和过滤，避免误查。</span></p>
<p class="MsoNormal"><span>E1</span><span>和</span><span>F1</span><span>是一个</span><span>HTML</span><span>类型的格子，其中</span><span>E1</span><span>是一个按钮，</span><span>F1</span><span>是一些文字和符号。</span></p>
<p class="MsoNormal"><span>E1</span><span>中的内容：</span></p>
<p class="MsoNormal"><span>&lt;input type=&#8221;button&#8221; value=&#8221;</span><span>返回</span><span>&#8221; name=&#8221;</span><span>返回</span><span>&#8221; onclick=&#8221;window.history.back()&#8221;&gt;</span></p>
<p class="MsoNormal"><span>F1</span><span>中的内容：</span></p>
<p class="MsoNormal"><span>&lt;span onclick=&#8221;window.history.back()&#8221; style=&#8221;cursor:hand&#8221;&gt;&lt;&lt;</span><span>返回</span><span>&lt;/span&gt;</span><span>，并且对</span><span>F1</span><span>进行了加粗和前景色的设置。</span></p>
<p class="MsoNormal"><span>在网页上浏览报表，效果如下：</span></p>
<p class="MsoNormal"><span>先发布“订单</span><span>.raq</span><span>”</span></p>
<p class="MsoNormal"><span><img src="/wp-content/uploads/2011/08/b1cccf81-f010-4a1c-a91b-450028710fa2.jpg" alt="" width="403" height="234" /></span></p>
<p class="MsoNormal"><span>点击</span><span>10248</span><span>后的查看明细，跳转到“订单明细</span><span>.raq</span><span>”：</span></p>
<p class="MsoNormal"><span><img src="/wp-content/uploads/2011/08/d76e173e-0e6e-4d3a-8d10-7fcd38e507de.jpg" alt="" width="421" height="123" /></span></p>
<p class="MsoNormal"><span>点击其中任意一个“返回”，均可返回到上一个页面。</span></p>
<p class="MsoNormal"><span>关键字：返回按钮，报表回退。</span></p>
<p><!-- keywords:报表设计,报表制作,Java报表,报表技术,web报表,函数,返回按 --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.runqian.com.cn/archives/4135.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>巧用日期时间函数</title>
		<link>http://www.runqian.com.cn/archives/4129.html</link>
		<comments>http://www.runqian.com.cn/archives/4129.html#comments</comments>
		<pubDate>Tue, 30 Aug 2011 15:30:30 +0000</pubDate>
		<dc:creator>ROS</dc:creator>
				<category><![CDATA[设计基础]]></category>
		<category><![CDATA[日期填报]]></category>
		<category><![CDATA[日期时间函数]]></category>

		<guid isPermaLink="false">http://www.runqian.com.cn/archives/4129.html</guid>
		<description><![CDATA[详细介绍润乾报表中的日期时间函数，帮助用户快速准确的进行报表设计和时间设置... ]]></description>
			<content:encoded><![CDATA[<div class="Section1" style="layout-grid: 15.6pt none;">
<p class="MsoNormal" style="text-align: left;"><span><span>         </span></span><span>在做一张考勤表的时候会涉及到很多的日期以及星期几，每个月的天数不一样，每个日期又需要一一的对应星期几。</span></p>
<p class="MsoNormal" style="text-align: left;"><span><img src="/wp-content/uploads/2011/08/c7ddf954-7d06-4169-b94f-b690f02d3e8a.jpg" alt="" width="615" height="427" /></span></p>
<p class="MsoNormal"><span><span>    </span></span><span>报表要实现上图所示的样子。思路是：客户输入一个日期参数，根据这个日期在考勤表中列出该月所有的考勤信息。</span></p>
<p class="MsoNormal" style="text-align: left;"><span>   要判断输入的这个日期所在月有几天，如果我们自己来写表达式计算，会很复杂，首先需要判断年份是闰年还是平年，然后再判断月份，客户的表达式：<span>B3:=case(month(@arg1),1,&#8221;31&#8243;,2,&#8221;29&#8243;,3,&#8221;31&#8243;,4,&#8221;30&#8243;,5,&#8221;31&#8243;,6,&#8221;30&#8243;,7,&#8221;31&#8243;,8,&#8221;31&#8243;,9,&#8221;30&#8243;,10,&#8221;31&#8243;,11,&#8221;30&#8243;,12,&#8221;31&#8243;)</span>。</span></p>
<p class="MsoNormal" style="text-align: left;"><span>B4:=if(year(@arg1)%4!=0&amp;&amp;year(@arg1)==2,to(1,int(B3)-1),to(1,int(B3)))</span></p>
<p class="MsoNormal" style="text-align: left;"><span>   润乾提供了一个日期时间函数<span>daysInMonth()</span>。就能取到当月的天数。</span><span>用润乾提供的函数直接写上<span>B4</span>：<span>=to(1</span>，<span>daysInMonth(@arg1))</span>就能准确简单的实现上面两行代码的作用。</span></p>
<p class="MsoNormal" style="text-align: left;"><span>   然后下面一行客户希望对应每个号数一个星期几。再对应出星期几之前需要确定用<span>to</span>扩展出来的号数的确切日期。这里用<span>relDate()</span>和<span>monthbegin( <span> </span>)</span>函数就可以实现。</span></p>
<p class="MsoNormal" style="text-align: left;"><span>   B5</span><span>表达式为：<span>=relDate(monthbegin(@arg1),B4-1)</span></span></p>
<p class="MsoNormal" style="text-align: left;"><span>   下面就根据具体的日期得出对应的星期，一般首先想到的就是把号数除以<span>7</span>取余，然后根据得到的余数用一个<span>map</span>函数来对应的显示出星期几。</span></p>
<p class="MsoNormal" style="text-align: left;"><span>   而使用润乾提供的函数：<span>dayName()</span>就能直接实现。</span></p>
<p class="MsoNormal" style="text-align: left;"><span>   B6</span><span>表达式为：<span>=dayName(B5)</span></span></p>
<p class="MsoNormal" style="text-align: left;"><span>  这样这张报表的表头部分日期、星期也就扩展好了。</span></p>
<p class="MsoNormal" style="text-align: left;"><span><img style="text-align: center; margin: 0px auto; display: block;" src="/wp-content/uploads/2011/08/fb74510e-aff7-413b-ad40-e14f30ec24c5.jpg" alt="" width="300" height="102" /></span></p>
<p class="MsoNormal" style="text-align: center;"><span><span>              </span></span><span>报表设计界面图</span></p>
<p class="MsoNormal" style="text-align: left;"><span><img style="text-align: center; margin: 0px auto; display: block;" src="/wp-content/uploads/2011/08/fb819716-b83e-48a6-a950-32fbbf204084.jpg" alt="" width="612" height="93" /></span></p>
<p class="MsoNormal" style="text-align: center;"><span>预览后的局部图</span></p>
<p class="MsoNormal" style="text-align: left;"><span>   然后根据日期取出对应的考勤信息就容易得多了。</span></p>
<p class="MsoNormal" style="text-align: left;"><span>   润乾提供的很多函数都能在做报表时帮我很大的忙，这些函数既简单又使用，巧妙的运用这些函数不但可以节省我们做报表的时间，而且能优化报表提高报表的性能。</span></p>
<p class="MsoNormal" style="text-align: left;"><span>报表用到的几个日期时间函数介绍：</span></p>
<p class="MsoNormal" style="text-align: left;"><span>函数：<span>daysInMonth(dateExp)</span></span></p>
<p class="MsoNormal" style="text-align: left;"><span>说明：获得指定日期所在月的天数</span></p>
<p class="MsoNormal" style="text-align: left;"><span>参数说明：<span>dateExp<span>   </span></span>日期或标准日期格式的字符串</span></p>
<p class="MsoNormal" style="text-align: left;"><span>返回值：整数</span></p>
<p class="MsoNormal" style="text-align: left;"> </p>
<p class="MsoNormal" style="text-align: left;"><span>函数：<span>relDate(dateExp, nExp)</span></span></p>
<p class="MsoNormal" style="text-align: left;"><span>说明：从给定的日期型数据中，算出相差<span>n</span>天后的新的日期数据</span></p>
<p class="MsoNormal" style="text-align: left;"><span>参数说明：<span>dateExp<span>   </span></span>日期或标准日期格式的字符串<span>nExp </span>整数表达式，需要求得<span>nExp</span>天后的新日期</span></p>
<p class="MsoNormal" style="text-align: left;"><span>返回值：整数</span></p>
<p class="MsoNormal" style="text-align: left;"> </p>
<p class="MsoNormal" style="text-align: left;"><span>函数：<span>monthbegin( dateExp )</span></span></p>
<p class="MsoNormal" style="text-align: left;"><span>说明：取得指定日期所在月的月首</span></p>
<p class="MsoNormal" style="text-align: left;"><span>参数说明：<span>dateExp<span>  </span></span>日期或标准日期格式的字符串</span></p>
<p class="MsoNormal" style="text-align: left;"><span>返回值：日期时间</span></p>
<p class="MsoNormal" style="text-align: left;"> </p>
<p class="MsoNormal" style="text-align: left;"><span>函数：<span>dayName(dateExp)</span></span></p>
<p class="MsoNormal" style="text-align: left;"><span>说明：从日期型数据中获得该日的星期名称</span></p>
<p class="MsoNormal" style="text-align: left;"><span>参数说明：<span>dateExp<span>   </span></span>日期或标准日期格式的字符串</span></p>
<p class="MsoNormal" style="text-align: left;"><span>返回值：字符型</span></p>
<p class="MsoNormal" style="text-align: left;"> </p>
</div>
<p><!-- keywords:报表设计,报表制作,Java报表,报表技术,web报表,日期时间函数,日期填 --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.runqian.com.cn/archives/4129.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>weblogic10下部署demo</title>
		<link>http://www.runqian.com.cn/archives/4116.html</link>
		<comments>http://www.runqian.com.cn/archives/4116.html#comments</comments>
		<pubDate>Mon, 29 Aug 2011 14:49:29 +0000</pubDate>
		<dc:creator>ROS</dc:creator>
				<category><![CDATA[安装部署]]></category>
		<category><![CDATA[报表部署]]></category>

		<guid isPermaLink="false">http://www.runqian.com.cn/archives/4116.html</guid>
		<description><![CDATA[详细介绍用weblogic服务器部署dem... ]]></description>
			<content:encoded><![CDATA[<div class="Section1" style="layout-grid: 15.6pt none;">
<p class="MsoNormal" style="text-align: center;"><strong><span>weblogic10</span></strong><strong><span>下部署</span></strong><strong><span>demo</span></strong></p>
<p class="MsoNormal"><span>客户想用</span><span>weblogic</span><span>服务器部署</span><span>demo</span><span>，以下是部署步骤：</span></p>
<p class="MsoNormal"><strong><span>第一步：拷贝</span></strong><strong><span>JDBC</span></strong><strong><span>驱动</span></strong><strong> </strong></p>
<p class="MsoNormal" style="text-align: left;"><span>首先将<span>jdbc</span>驱动包拷贝到<span>D:\Oracle\Middleware\wlserver_10.3\server\lib</span>文件夹下，在<span>D:\Oracle\Middleware\wlserver_10.3\common\bin</span>文件夹下找到<span>commEnv.cmd</span>，点鼠标右键<span>&#8211;</span>编辑，打开后找到<span>set WEBLOGIC_CLASSPATH</span>，将<span>%WL_HOME%\server\lib\hsqldb.jar</span>；</span></p>
<p class="MsoNormal" style="text-align: left;"><span>加到<span>%WL_HOME%\server\lib\WebLogic_sp.jar</span>前面，保存。<span> </span>如图：</span></p>
<p class="MsoNormal"><span><img src="/wp-content/uploads/2011/08/2c940482-67c4-40f5-92c2-b6efe6651986.jpg" alt="" width="554" height="140" /></span></p>
<p class="MsoNormal" style="text-align: left; background: white;"><span>注：<span>hsqldb.jar</span>是<span>demo</span>数据库用到的驱动，如用其它的数据库，则换成相应的数据库驱动。</span></p>
<p class="MsoNormal"><strong><span>第二步：启动</span></strong><strong><span>weblogic</span></strong><strong><span>服务器</span></strong><strong> </strong></p>
<p class="MsoNormal"><span>点击开始</span><span>&#8212; Oracle WebLogic&#8212; User Projects&#8212; base_domain&#8212; Start Admin Server for Weblogic Server Domain</span><span>来启动服务器，启动成功后如图所示：</span></p>
<p class="MsoNormal"><span><img src="/wp-content/uploads/2011/08/f999a4b3-3b38-40c9-a6a2-0ac9be540bc2.jpg" alt="" width="553" height="361" /></span></p>
<p class="MsoNormal"><strong></strong></p>
<p class="MsoNormal"><span>在地址栏中输入：</span><span><a href="http://localhost:7001/console/"><span style="color: windowtext; text-decoration: none; text-underline: none;">http://localhost:7001/console/</span></a></span><span> </span><span>回车，如下图：</span></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><strong><span><img src="/wp-content/uploads/2011/08/e93d15dd-65f1-46f5-91e8-7eb15153f6da.jpg" border="0" alt="" width="554" height="328" /></span></strong><strong></strong></p>
<p class="MsoNormal"><span style="color: red;">用户名、密码为第一次启动“</span><span style="color: red;">QuickStart</span><span style="color: red;">”时的密码。</span></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><strong><span>第三步：配置数据源</span></strong><strong></strong></p>
<p class="MsoNormal" style="text-align: left; background: white;"><span>在配置界面的左边点服务<span>&#8212;JDBC&#8212;</span>数据源</span></p>
<p class="MsoNormal" style="text-align: left; background: white;"><span><img src="/wp-content/uploads/2011/08/4b2cd8e8-85e1-4edc-b6e9-58b2506dea67.jpg" border="0" alt="" width="238" height="252" /></span></p>
<p class="MsoNormal"><span>右边点击新建</span></p>
<p class="MsoNormal"><span><img src="/wp-content/uploads/2011/08/50da5bd7-a166-419c-9bc2-f6d061d077d7.jpg" border="0" alt="" width="554" height="120" /></span></p>
<p class="MsoNormal" style="background: white;"><span>新建后，配置</span><strong><span>JDBC </span></strong><strong><span>数据源属性</span></strong><strong><span> </span></strong></p>
<p class="MsoNormal"><span><img src="/wp-content/uploads/2011/08/1ee0b4c4-333a-4191-b604-fe367283da6a.jpg" border="0" alt="" width="554" height="467" /></span></p>
<p class="MsoNormal"><span>注：在</span><span>reportconfig.xml</span><span>中写法为：</span></p>
<p class="MsoNormal"><span><img src="/wp-content/uploads/2011/08/62edc0a1-4d9c-40bc-b14c-85b62196e228.jpg" border="0" alt="" width="355" height="136" /></span></p>
<p class="MsoNormal" style="background: white;"><span>点击下一步，事务选项根据自己来定义，在此默认，点击</span><span>“</span><span>下一步</span><span>”</span><span>，后输入</span><span>(</span><span>如图所示</span><span>):</span></p>
<p class="MsoNormal"><span><img src="/wp-content/uploads/2011/08/5605dcf4-82f7-4666-bdb4-c5c6d4806a5d.jpg" border="0" alt="" width="491" height="461" /></span></p>
<p class="MsoNormal"><span>点击“下一步”：如图：</span></p>
<p class="MsoNormal"><span><img src="/wp-content/uploads/2011/08/b5b8896b-b2d0-49c6-a048-e68517ce8385.jpg" border="0" alt="" width="503" height="494" /></span></p>
<p class="MsoNormal"><strong></strong></p>
<p class="MsoNormal"><span>驱动程序累名称为：</span><span>org.hsqldb.jdbcDriver</span></p>
<p class="MsoNormal"><span>URL: jdbc:hsqldb:hsql://localhost/runqianDB</span></p>
<p class="MsoNormal"><span>数据库用户名：</span><span>sa</span></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><span>最后点击左上角的“测试配置”，提示测试配置成功，如图，这样数据源就配置成功了。</span></p>
<p class="MsoNormal"><span><img src="/wp-content/uploads/2011/08/11d23a67-f5fe-4779-a320-1f8f1c107719.jpg" border="0" alt="" width="554" height="367" /></span></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><strong><span>第四步：<span>发布应用</span></span></strong><strong></strong></p>
<p class="MsoNormal" style="text-align: left; background: white;"><span>在配置界面中选择左边的部署，然后右边选择“安装”，如图</span></p>
<p class="MsoNormal"><span><img src="/wp-content/uploads/2011/08/6f515445-c83f-4216-afb6-8f50a96ad68d.jpg" border="0" alt="" width="554" height="229" /></span></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><span><img src="/wp-content/uploads/2011/08/9727dc27-7a18-4116-b3b0-2e538d30af46.jpg" border="0" alt="" width="554" height="188" /></span></p>
<p class="MsoNormal" style="background: white;"><span>一直点击“下一步”到“<strong>可选设置</strong></span><span> </span><span>”界面后点“完成”</span></p>
<p class="MsoNormal"><span><img src="/wp-content/uploads/2011/08/7edf2616-3306-4030-9310-b362492f16f0.jpg" border="0" alt="" width="554" height="420" /></span></p>
<p class="MsoNormal"><span>这样，部署</span><span>demo</span><span>就成功了</span></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><strong><span>第五步：<span>查看效果</span></span></strong><strong></strong></p>
<p class="MsoNormal"><span>点击</span><span> </span><span>“</span><span>demo</span><span>”，如图：</span></p>
<p class="MsoNormal"><span><img src="/wp-content/uploads/2011/08/111534dd-c042-4bb7-a621-024593e7166c.jpg" border="0" alt="" width="554" height="211" /></span></p>
<p class="MsoNormal"><span>进入下一页</span><span>&#8212;</span><span>点“测试”</span></p>
<p class="MsoNormal"><span><img src="/wp-content/uploads/2011/08/2339926c-7539-4386-8672-ad2bd0014fbc.jpg" border="0" alt="" width="553" height="264" /></span></p>
<p class="MsoNormal"><span>出现：“<strong>部署测试</strong>”连接</span><span><a href="http://192.168.0.159:7001/demo" target="testwindow"><strong><span style="color: windowtext; text-decoration: none; text-underline: none;">http://192.168.0.159:7001/demo</span></strong></a></span><strong></strong></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><span><img src="/wp-content/uploads/2011/08/7db96a84-425e-4b94-aa04-a88d4eb06687.jpg" border="0" alt="" width="553" height="163" /></span></p>
<p class="MsoNormal"><span><img src="/wp-content/uploads/2011/08/132da9f9-21cf-4a6b-9b2f-1e9fe2d5aea8.jpg" border="0" alt="" width="554" height="325" /></span></p>
<p class="MsoNormal" style="text-align: left; background: white;"><span>展示出相应的效果。</span></p>
<p class="MsoNormal" style="text-align: left; background: white;"><span>这样用<span>weblogic</span>部署就彻底完成了。</span></p>
<p class="MsoNormal" style="text-align: left; background: white;"> </p>
<p class="MsoNormal"> </p>
</div>
<p><!-- keywords:报表安装,Java报表,报表工具,报表部 --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.runqian.com.cn/archives/4116.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>resin服务器下多表显示及样式问题</title>
		<link>http://www.runqian.com.cn/archives/4098.html</link>
		<comments>http://www.runqian.com.cn/archives/4098.html#comments</comments>
		<pubDate>Fri, 26 Aug 2011 14:18:07 +0000</pubDate>
		<dc:creator>ROS</dc:creator>
				<category><![CDATA[安装部署]]></category>
		<category><![CDATA[多表显示]]></category>
		<category><![CDATA[报表样式]]></category>
		<category><![CDATA[服务器]]></category>

		<guid isPermaLink="false">http://www.runqian.com.cn/archives/4098.html</guid>
		<description><![CDATA[介绍resin服务器下多表显示及样式问... ]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="text-indent: 21.75pt;"><span>客户在展现报表时常常要求将多张报表在一个页面中展示，此时可在页面上定义多个润乾的</span><span>tag</span><span>标签来显示，如：</span></p>
<p class="MsoNormal" style="text-indent: 21.75pt;"><span>&lt;report:html name=&#8221;report1&#8243; reportFileName=&#8221;22.raq&#8221;</span></p>
<p class="MsoNormal" style="text-indent: 21.75pt;"><span>funcBarLocation=&#8221;" </span></p>
<p class="MsoNormal" style="text-indent: 21.75pt;"><span><span>       </span>needPageMark=&#8221;no&#8221;</span></p>
<p class="MsoNormal" style="text-indent: 21.75pt;"><span>/&gt;</span></p>
<p class="MsoNormal" style="text-indent: 21.75pt;"><span>&lt;report:html name=&#8221;report2&#8243; reportFileName=&#8221;22.raq&#8221;</span></p>
<p class="MsoNormal" style="text-indent: 21.75pt;"><span>funcBarLocation=&#8221;" </span></p>
<p class="MsoNormal" style="text-indent: 21.75pt;"><span><span>       </span>needPageMark=&#8221;no&#8221;</span></p>
<p class="MsoNormal" style="text-indent: 21.75pt;"><span>/&gt;</span></p>
<p class="MsoNormal" style="text-indent: 21.75pt;"><span>&lt;report:html name=&#8221;report3&#8243; reportFileName=&#8221;22.raq&#8221;</span></p>
<p class="MsoNormal" style="text-indent: 21.75pt;"><span>funcBarLocation=&#8221;" </span></p>
<p class="MsoNormal" style="text-indent: 21.75pt;"><span><span>       </span>needPageMark=&#8221;no&#8221;</span></p>
<p class="MsoNormal" style="text-indent: 21.75pt;"><span>/&gt;</span></p>
<p class="MsoNormal" style="text-indent: 21.75pt;"><span>此种写法在大多数</span><span>web</span><span>服务器上都没问题，但是当部署在</span><span>resin</span><span>上时，会有一些特殊问题：</span></p>
<p class="MsoNormal" style="text-indent: 21.75pt;"><span>问题一：三段标签引用的是同一个</span><span>raq</span><span>，访问页面时前台只展现一个报表，后台报错：</span></p>
<p class="MsoNormal" style="text-indent: 21.75pt;"><span><img src="/wp-content/uploads/2011/08/0f6bf74a-d49b-4132-ad32-be25296a9401.jpg" alt="" width="554" height="197" /></span></p>
<p class="MsoNormal" style="text-indent: 21.75pt;"><span>问题二：将第二段标签中引用的报表名称更改后，报表能正常展现，但页面样式上展现会出相关问题：</span></p>
<p class="MsoNormal" style="text-indent: 21.75pt;"><span><img src="/wp-content/uploads/2011/08/d2be8b92-7c0a-40dc-a118-cd20b6cc20b7.jpg" alt="" width="554" height="491" /></span></p>
<p class="MsoNormal" style="text-indent: 21.75pt;"><span>标签中设置为不需要工具条，不需要页码</span></p>
<p class="MsoNormal" style="text-indent: 21.75pt;"><span>funcBarLocation=&#8221;" </span></p>
<p class="MsoNormal" style="text-indent: 21.75pt;"><span>needPageMark=&#8221;no&#8221;</span></p>
<p class="MsoNormal" style="text-indent: 21.75pt;"><span>但是在页面展现时，只有第一个表能按照设置正常展现，后边的表并没有按照要求显示。</span></p>
<p class="MsoNormal" style="text-indent: 21.75pt;"><span>这两个问题为在</span><span>resin</span><span>特有的问题，主要是</span><span>resin</span><span>服务器解析页面时出现的问题。润乾针对这种问题专门增加了项配置，在</span><span>reportConfig.xml</span><span>中增加</span></p>
<p class="MsoNormal" style="text-indent: 21.75pt;"><span><span>       </span>&lt;config&gt;</span></p>
<p class="MsoNormal" style="text-indent: 21.75pt;"><span>　　</span><span><span>      </span>&lt;name&gt;webServerType&lt;/name&gt;</span></p>
<p class="MsoNormal" style="text-indent: 21.75pt;"><span><span>      </span></span><span>　　</span><span>&lt;value&gt;resin&lt;/value&gt;</span></p>
<p class="MsoNormal" style="text-indent: 21.75pt;"><span><span>    </span>&lt;/config&gt;</span></p>
<p class="MsoNormal" style="text-indent: 21.75pt;"><span>这样，上述两个问题能圆满解决，正常展示。</span></p>
<p class="MsoNormal" style="text-indent: 21.75pt;"><span><img src="/wp-content/uploads/2011/08/64414a3a-f86f-4714-9d48-ce8526b417f1.jpg" alt="" width="503" height="476" /></span></p>
<p><!-- keywords:报表安装,Java报表,报表工具,服务器,多表显示,报表样 --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.runqian.com.cn/archives/4098.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>sqlserver数据库的数据集参数过多的解决办法</title>
		<link>http://www.runqian.com.cn/archives/4092.html</link>
		<comments>http://www.runqian.com.cn/archives/4092.html#comments</comments>
		<pubDate>Thu, 25 Aug 2011 10:52:27 +0000</pubDate>
		<dc:creator>ROS</dc:creator>
				<category><![CDATA[设计基础]]></category>
		<category><![CDATA[参数过滤]]></category>
		<category><![CDATA[参数集]]></category>
		<category><![CDATA[数据库]]></category>
		<category><![CDATA[数据跳转]]></category>

		<guid isPermaLink="false">http://www.runqian.com.cn/archives/4092.html</guid>
		<description><![CDATA[使用宏代替在数据集中设置参数，直接在宏中接收参数，并拼接成一个字符串在交给数据集计算，不用经过数据集做参数转换,很好的避免了数据集中参数过多会在数据库中报错的问题。

... ]]></description>
			<content:encoded><![CDATA[<div class="Section1" style="layout-grid: 15.6pt none;">
<p class="MsoNormal" style="text-align: center;"><strong><span>sqlserver</span></strong><strong><span>数据库的数据集参数过多的解决办法</span></strong><strong></strong></p>
<p class="MsoNormal"><span>需求背景：</span></p>
<p class="MsoNormal"><span>一些客户在使用报表的过程中发现，如果报表使用的数据库是</span><span>sqlserver</span><span>的，而且数据集中使用的参数过多，超过了</span><span>2100</span><span>了，那么在计算报表的时候就会出现报错：传入的表格格式数据流</span><span>(TDS)</span><span>远程过程调用</span><span>(RPC)</span><span>协议流不正确。此</span><span> RPC </span><span>请求中提供了过多的参数。最多应为</span><span> 2100</span><span>。执行错误，</span><span>SQL</span><span>参数异常或者</span><span>SQL</span><span>语句语法错误。这种情况一般是因为数据集中接收了一个元素很多的字符串组。在数据集计算时要把这个字符串组中的每一个元素解析成一下参数（即数据集中的？），由于</span><span>sqlserver</span><span>的自身机制问题，自身只支持</span><span>2100</span><span>个参数，参数</span></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><span>再多就会报上面的错误。</span></p>
<p class="MsoNormal"><span>实现思路：</span></p>
<p class="MsoNormal"><span>可以把</span><span>sql</span><span>中接收参数的部分写到宏里面，这样就不用在数据集中把每个元素对应成一个问</span></p>
<p class="MsoNormal"><span>号，当成多个参数解析了。可以直接在宏中把参数的值对应的替换过来。</span></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><span>实现过程：</span></p>
<p class="MsoNormal"><span>如果在数据集中直接使用字符串组接收参数，会在数据集中会把字符串组的每一个元素都解析成一个参数。可以制作下面一张报表测试一下：</span></p>
<p class="MsoNormal"><span><img src="/wp-content/uploads/2011/08/c2e833ca-71b7-4c23-a84a-50090a76c6d2.jpg" alt="" width="554" height="302" /></span></p>
<p class="MsoNormal"><span>然后输入参数的值为：</span><span>10523,10524,10525,10526,10527</span></p>
<p class="MsoNormal"><span>预览报表，可以看到后台打印的信息出现了好多个参数（好多个</span><span>?</span><span>），如下图所示：</span></p>
<p class="MsoNormal"><span><img src="/wp-content/uploads/2011/08/15325b3b-204f-4068-9ce7-0f13f846bbb5.jpg" alt="" width="554" height="279" /></span></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><span>使用宏代替在数据集中设置参数，直接在宏中接收参数，并拼接成一个字符串在交给数据集计算，这样就不用经过数据集做参数转换了。</span></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><span>制作一张如下图所示的报表，把数据集的过滤条件都写在了宏里面。</span></p>
<p class="MsoNormal"><span><img src="/wp-content/uploads/2011/08/0a8627dd-5308-4045-9824-29ac5b9cc047.jpg" alt="" width="554" height="315" /></span></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><span>报表参数的设置如下图所示：</span></p>
<p class="MsoNormal"><span><img src="/wp-content/uploads/2011/08/94ce8b67-d867-4f8c-b18d-f4578d955cdc.jpg" alt="" width="554" height="285" /></span></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><span><span> </span></span><span>数据集的写法如下图所示：</span></p>
<p class="MsoNormal"><span><img src="/wp-content/uploads/2011/08/32f8ea6b-7ea9-4037-b77e-8c4b473501c6.jpg" alt="" width="554" height="293" /></span></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><span>此时预览报表输入参数值为</span><span>10523,10524,10525,10526,10527(</span><span>因为此处不便找到</span><span>2000</span><span>多个参数</span><span>)</span><span>，然后预览报表，可以看到如下图的效果，数据集后面的条件并没有经过数据集转换直接是一个写死的字符串，这是就不会经过数据库去转参数了，所以也就不会报</span><span>” </span><span>此</span><span> RPC </span><span>请求中提供了过多的参数。最多应为</span><span> 2100</span><span>。</span><span>”</span><span>的错误了。</span></p>
<p class="MsoNormal"><span><img src="/wp-content/uploads/2011/08/1b24e1f0-126c-44c3-ad0a-7614d8097d7b.jpg" alt="" width="553" height="286" /></span></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><span>这样就很好的避免了数据集中参数过多会在数据库中报错的问题。</span></p>
</div>
<p><!-- keywords:报表设计,报表制作,Java报表,报表技术,web报表,数据库,参数集,参数过滤,数据跳 --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.runqian.com.cn/archives/4092.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

