<?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"
	>

<channel>
	<title>A-web报表工具</title>
	<atom:link href="http://awebreport.com/feed" rel="self" type="application/rss+xml" />
	<link>http://awebreport.com</link>
	<description>web报表，web报表工具，java报表，.net报表，报表技术、报表应用、报表相关知识</description>
	<pubDate>Mon, 01 Feb 2010 04:20:00 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>利用快逸报表内置JS函数实现页码跳转功能</title>
		<link>http://awebreport.com/archives/609</link>
		<comments>http://awebreport.com/archives/609#comments</comments>
		<pubDate>Mon, 01 Feb 2010 04:20:00 +0000</pubDate>
		<dc:creator>hewei</dc:creator>
		
		<category><![CDATA[web报表]]></category>

		<category><![CDATA[快逸报表]]></category>

		<category><![CDATA[报表]]></category>

		<category><![CDATA[转到第几页]]></category>

		<category><![CDATA[页码跳转]]></category>

		<guid isPermaLink="false">http://awebreport.com/archives/609</guid>
		<description><![CDATA[
Web应用开发中一个很普遍的需求就是页码的跳转，快逸报表已经为项目开发人员提供了起始页，下一页，上一页，最后页的功能，节省了人工编写的复杂度，当然，如果想直接跳转到某一页，... ]]></description>
			<content:encoded><![CDATA[<div class="entry">
<p>Web应用开发中一个很普遍的需求就是页码的跳转，<a href="http://www.quiee.com.cn"  class="alinks_links" onclick="return alinks_click(this);" title="&#24555;&#36920;&#25253;&#34920;"  rel="external">快逸</a><a href="http://www.quiee.com.cn/archives/275"  class="alinks_links" onclick="return alinks_click(this);" title="&#24555;&#36920;&#20813;&#36153;&#25253;&#34920;"  rel="external">报表</a>已经为项目开发人员提供了起始页，下一页，上一页，最后页的功能，节省了人工编写的复杂度，当然，如果想直接跳转到某一页，就需要稍微做一点工作了，我们知道快逸<a href="http://www.quiee.com.cn/archives/292"  class="alinks_links" onclick="return alinks_click(this);" title="&#25253;&#34920;"  rel="external">报表</a>内置的javascript函数中有一个_toPage( )函数，此函数的语法为：tag中的name属性+_toPage( N)，N为页数。下面就简单的做一个例子实现这一效果。 <br/>（注：更多的函数说明请参考 应用开发教程以及应用开发手册中的网页脚本控制一章节）</p>
<p>首先看一下效果图：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/10/xn-web-js-rj7m636injgea414gx4gkv1c0s2efa6017a4p2aere.png" alt="快逸报表 web报表 页面条状 js函数.png" height="508"/></p>
<p>实现步骤： <br/>1：首先制作一张报表，报表属性设置为按行分页，每页十五行，如图所示：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/10/111.png" alt="快逸报表 web报表 页面条状 js函数 报表模板 分页" height="230"/></p>
<p>2：写jsp页面发布此报表，jsp代码如下：</p>
<p>&lt;!- <br/>&lt; %@ taglib uri=&#8221;/WEB-INF/runqianReport4.tld&#8221; prefix=&#8221;report&#8221; % &gt; <br/>&lt; % <br/>//以下代码是将常用的jsp中input元素拼为字符串 <br/>String tpagestr = &#8220;&lt; input type=\&#8221;text\&#8221; style=\&#8221;width:30px;\&#8221; value=\&#8221;\&#8221; name=\&#8221;atpage\&#8221; id=\&#8221;atpage\&#8221;&gt;&lt; input type=\&#8221;submit\&#8221; value=\&#8221;go\&#8221; onclick=\&#8221;aa();\&#8221; &gt;&#8221;; <br/>%&gt; <br/>&lt; html&gt; <br/>&lt; head&gt; <br/>&lt; title&gt;快逸报表输入跳转页数跳转&lt; /title&gt; <br/>&lt; h2 align=&#8221;center&#8221; &gt;快逸报表输入跳转页数跳转&lt; /h2&gt; <br/>&lt; /head&gt; <br/>&lt; script type=&#8221;text/javascript&#8221; &gt; <br/>//定义名为aa的js函数，当点击value为&#8221;go&#8221;的按钮时调用 <br/>function aa(){ <br/>//获得定义ID为atpage输入框的值 <br/>var tpagenum = document.getElementById(&#8221;atpage&#8221;).value; <br/>//调用快逸内置的_toPage()函数，将获得的值传入即可实现转到某一页 <br/>try{report1_toPage(tpagenum);} <br/>catch(e){} <br/>return false;</p>
<p>} <br/>&lt; /script&gt; <br/>&lt; table align=&#8221;center&#8221;&gt; <br/>&lt; tr &gt;&lt; td&gt; <br/>&lt; %== 以下是用tag标签发布报表==% &gt; <br/>&lt; report:html name=&#8221;report1″ reportFileName=&#8221;moreData.raq&#8221; <br/>&lt; %== userFuncBarElements是自定义的功能条中的功能元素，引入我们自定义的Html元素 ==%&gt; <br/>userFuncBarElements=&#8221;" <br/>width=&#8221;-1″ <br/>/ &gt; <br/>&lt; /td&gt;&lt; /tr&gt; <br/>&lt; /table&gt; <br/>&lt; /html&gt;</p>
<p>总结：快逸报表内置了很多很实用的js函数供开发者调用，可以实现诸如此类的需求，熟练使用快逸报表中的内置js函数可以使开发变得更快速简单。</p>
<p>原文链接：<a href="http://javareport.cn/archives/658" rel="bookmark" title="利用快逸报表内置JS函数实现页码跳转功能">利用快逸报表内置JS函数实现页码跳转功能</a></p>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://awebreport.com/archives/609/feed</wfw:commentRss>
		</item>
		<item>
		<title>下拉菜单多选参数查询</title>
		<link>http://awebreport.com/archives/610</link>
		<comments>http://awebreport.com/archives/610#comments</comments>
		<pubDate>Sun, 31 Jan 2010 04:20:00 +0000</pubDate>
		<dc:creator>hewei</dc:creator>
		
		<category><![CDATA[web相关技术]]></category>

		<category><![CDATA[下拉菜单参数]]></category>

		<category><![CDATA[下拉菜单多选]]></category>

		<category><![CDATA[多值查询]]></category>

		<category><![CDATA[快逸报表]]></category>

		<category><![CDATA[报表]]></category>

		<guid isPermaLink="false">http://awebreport.com/archives/610</guid>
		<description><![CDATA[
快逸报表的下拉菜单功能可以很方便用在参数模板中，供报表浏览者轻松准确的选择需要的参数进行查询，但是默认的查询参数只能选择一个值如下图：

如果想要选择多个值就需要另外进行... ]]></description>
			<content:encoded><![CDATA[<div class="entry">
<p><a href="http://www.quiee.com.cn"  class="alinks_links" onclick="return alinks_click(this);" title="&#24555;&#36920;&#25253;&#34920;"  rel="external">快逸</a><a href="http://www.quiee.com.cn/archives/275"  class="alinks_links" onclick="return alinks_click(this);" title="&#24555;&#36920;&#20813;&#36153;&#25253;&#34920;"  rel="external">报表</a>的下拉菜单功能可以很方便用在参数模板中，供<a href="http://www.quiee.com.cn/archives/292"  class="alinks_links" onclick="return alinks_click(this);" title="&#25253;&#34920;"  rel="external">报表</a>浏览者轻松准确的选择需要的参数进行查询，但是默认的查询参数只能选择一个值如下图：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/10/xn-1-mo6ap8ac7jba66dh31a18nr3flka62w6n9czixbsknf50afa5mx1a.png" alt="快逸报表下拉菜单多选的参数传递单选1.png" height="291"/></p>
<p>如果想要选择多个值就需要另外进行设置。本文就来介绍一下快逸报表是怎样利用下拉菜单进行多选查询的。 <br/>首先进行报表的设计：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/10/222.png" alt="22.PNG" height="157"/></p>
<p><strong>第一步：增加数据集</strong> <br/>ds1.SELECT EMPLOYEE.EMPID,EMPLOYEE.EMPNAME,EMPLOYEE.BIRTHDAY,EMPLOYEE.SEX,EMPLOYEE.DEGREE,EMPLOYEE.BONUS <br/>FROM EMPLOYEE <br/>ds2: SELECT DEGREE.ID,DEGREE.NAME FROM DEGREE</p>
<p><strong>第二步：定义表达式</strong> <br/>1、将A3单元格表达式修改为：=ds1.Select(int(EMPID),false) <br/>该表达式是将字符串型的EMPID转换成整数，再做排序操作。 <br/>2、设置C3单元格的显示格式为：yyyy年MM月dd日 <br/>3、设置F3单元格的显示格式为：￥#0.00 <br/>4、设置D3的显示值为：map(list(&#8221;1″,&#8221;2″),list(&#8221;男&#8221;,&#8221;女&#8221;)) <br/>5、设置E3的显示值为：ds2.select1(name,id==value())， <br/>6、设置E4为&#8221;统计时间：&#8221;，F5的值为=now（）,F6()值为&#8221;第&#8221;+pno（）+&#8221;页&#8221;。</p>
<p><strong>第三步：添加参数</strong></p>
<p>在报表中配置选项中添加参数，用来接收参数模板传过来的参数，参数名称为arg1，类型为字符串组。 <br/>进入到设计数据集的部分，其中的检索条件设置为DEGREE in (?) or ? is null，之后在参数标签中添加两个参数，其中两个参数的表达式的写法是第一个参数表达式为arg1，第二个参数表达式为str(arg1)格式如下:</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/10/331.png" alt="快逸报表下拉菜单多选的参数传递参数设计3" height="194"/></p>
<p>然后设计参数模板，具体的设计方法如下：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/10/66.png" alt="66.PNG" height="53"/></p>
<p>C2单元格填报属性设置为下拉列表框，并在该单元格的web属性的变量名中填写与报表文件对应参数名称，这里填写为arg1：列表框数据如下图所示：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/10/44.png" alt="44.PNG" height="237"/></p>
<p>注意，一定要选择 允许多选和增强控件两个选项，否则无法进行多选。 <br/>这样报表就设计完了 <br/>发布到web，报表可以进行多选，点击查询得到查询结果，如下图：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/10/77.png" alt="77.PNG" height="330"/></p>
<p>这样，就在下拉菜单里完成了多选的查询，如果用户想在下拉数据集里进行多选查询的话，将模板的参数下拉菜单改为下拉数据集，然后在设置中除了添加显示列和数据列之外同样勾选上允许多选和增强控件，其他设计方法参照本例即可，就能实现下拉数据集的多选查询。</p>
<p>原文链接：<a href="http://javareport.cn/archives/659" rel="bookmark" title="下拉菜单多选参数查询">下拉菜单多选参数查询</a></p>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://awebreport.com/archives/610/feed</wfw:commentRss>
		</item>
		<item>
		<title>单元格中用HTML控制显示个性化文字</title>
		<link>http://awebreport.com/archives/608</link>
		<comments>http://awebreport.com/archives/608#comments</comments>
		<pubDate>Sat, 30 Jan 2010 04:20:00 +0000</pubDate>
		<dc:creator>hewei</dc:creator>
		
		<category><![CDATA[web报表]]></category>

		<category><![CDATA[html效果]]></category>

		<category><![CDATA[个性化文字]]></category>

		<category><![CDATA[单元格]]></category>

		<category><![CDATA[文字]]></category>

		<guid isPermaLink="false">http://awebreport.com/archives/608</guid>
		<description><![CDATA[
快逸报表单元格中的文字展现效果基本上可以满足大部分展示需求，但是有时候web报表用户需要在单元格中显示一些个性文字，如文字翻转等，这样的文字就需要做一些特殊处理，本文就来介... ]]></description>
			<content:encoded><![CDATA[<div class="entry">
<p><a href="http://www.quiee.com.cn"  class="alinks_links" onclick="return alinks_click(this);" title="&#24555;&#36920;&#25253;&#34920;"  rel="external">快逸</a><a href="http://www.quiee.com.cn/archives/275"  class="alinks_links" onclick="return alinks_click(this);" title="&#24555;&#36920;&#20813;&#36153;&#25253;&#34920;"  rel="external">报表</a>单元格中的文字展现效果基本上可以满足大部分展示需求，但是有时候<a href="http://www.quiee.com.cn/archives/246"  class="alinks_links" onclick="return alinks_click(this);" title="web&#25253;&#34920;"  rel="external">web报表</a>用户需要在单元格中显示一些个性文字，如文字翻转等，这样的文字就需要做一些特殊处理，本文就来介绍一下怎样实现在单元格中显示个性化文字。 、</p>
<p><strong>实现思路：</strong> <br/>个性化文字通常是通过一些css以及html语言来对文字进行修饰而来的，只要能把这些html加载到单元格中就可以实现显示个性化文字了。</p>
<p>下面根据思路来做一个个性化文字的例子&#8211;文字翻转，实现步骤如下： <br/>新建一张普通<a href="http://www.quiee.com.cn/archives/292"  class="alinks_links" onclick="return alinks_click(this);" title="&#25253;&#34920;"  rel="external">报表</a>，在A1单元格中我们使用快逸中默认的文字。 <br/>在A2单元格鼠标右键，将数据类型转成HTML类型，在文本里输入修饰字体的HTML语言，如下图：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/10/xn-html-j22hz7bv5jhpny36e5zgdja078b.png" alt="快逸报表html格式设计.PNG" height="395"/></p>
<p>这里使用的是div的方式： <br/>&lt; div style=&#8221;FILTER:progid:DXImageTransform.Microsoft.BasicImage(Rotation=1);height:1px&#8221;&gt; <br/>快逸报表V4 <br/>&lt; /div&gt; <br/>其中style这段代码是用来对字体进行反转操作，Rotation=1代表顺时针转九十度。（这样的HTML代码还有很多）。还可以通过 <span style="FONT-SIZE: 0.6em"><span style="FONT-SIZE: 0.6em">来设定字体的颜色大小等属性。 <br/></span> <span style="FONT-SIZE: 16px; FONT-FAMILY: 宋体"><span style="FONT-SIZE: 18px"><span style="FONT-SIZE: 0.6em"><span style="FONT-SIZE: 16px; FONT-FAMILY: 宋体">需要注意的是单元格数据类型为HTML时，尺寸调整方式无效，这是要手动调整单元格的高宽来适应文字显示。 <br/>加入HTML后的文字效果如下：</span></span></span></span></span></p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/10/xn-html-zf5f13em0eevfrx9apyfn4hmphh7bj15f3lydie0a.png" alt="快逸报表单元格中使用html效果.PNG" height="164"/></p>
<p>就这么简单的就可以实现个性化文字的需求了。通过在单元格中嵌入HTML语言，可以使很多<a href="http://www.quiee.com.cn/archives/16"  class="alinks_links" onclick="return alinks_click(this);" title="web&#25253;&#34920;"  rel="external">web报表</a>用户通过强大的HTML语言对文字数据进行一些个性化的处理，达到更好的效果。</p>
<p>原文链接：<a href="http://javareport.cn/archives/657" rel="bookmark" title="单元格中用HTML控制显示个性化文字">单元格中用HTML控制显示个性化文字</a></p>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://awebreport.com/archives/608/feed</wfw:commentRss>
		</item>
		<item>
		<title>Web报表单元格内容竖排显示的制作方法</title>
		<link>http://awebreport.com/archives/607</link>
		<comments>http://awebreport.com/archives/607#comments</comments>
		<pubDate>Fri, 29 Jan 2010 04:20:00 +0000</pubDate>
		<dc:creator>hewei</dc:creator>
		
		<category><![CDATA[web报表]]></category>

		<category><![CDATA[单元格竖向显示]]></category>

		<category><![CDATA[快逸报表]]></category>

		<category><![CDATA[报表]]></category>

		<category><![CDATA[文字竖排显示]]></category>

		<guid isPermaLink="false">http://awebreport.com/archives/607</guid>
		<description><![CDATA[
需求说明 普通报表常常需要将文字从纵向方向竖着排列，Web报表自然也不例外有这个需求。 快逸报表单元格的内容默认情况下是横向显示的，如何实现竖排显示单元格内容呢，下面介绍两种... ]]></description>
			<content:encoded><![CDATA[<div class="entry">
<p><strong>需求说明</strong> <br/>普通<a href="http://www.quiee.com.cn/archives/275"  class="alinks_links" onclick="return alinks_click(this);" title="&#24555;&#36920;&#20813;&#36153;&#25253;&#34920;"  rel="external">报表</a>常常需要将文字从纵向方向竖着排列，<a href="http://www.quiee.com.cn/archives/246"  class="alinks_links" onclick="return alinks_click(this);" title="web&#25253;&#34920;"  rel="external">Web报表</a>自然也不例外有这个需求。 <br/><a href="http://www.quiee.com.cn"  class="alinks_links" onclick="return alinks_click(this);" title="&#24555;&#36920;&#25253;&#34920;"  rel="external">快逸</a><a href="http://www.quiee.com.cn/archives/292"  class="alinks_links" onclick="return alinks_click(this);" title="&#25253;&#34920;"  rel="external">报表</a>单元格的内容默认情况下是横向显示的，如何实现竖排显示单元格内容呢，下面介绍两种制作方法。</p>
<p><strong>一．宽度限制加自动换行</strong></p>
<p>大致思路：将该单元格内容居中显示,并设置单元格的宽度使每行只能显示一个字,然后设置自动换行，就可以实现单元格内容竖排显示了。 <br/>新建一个空白报表，然后内建一个数据集，内建数据集的内容如下</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/10/xn-web1-do6fv4hhnv9bz8d1t7a2mrntcz7je1bqxnjzt8z2b5gkuuh8n7e.png" alt="Web报表单元格内容竖排显示的制作方法1.png" height="539"/></p>
<p>然后在单元格中输入： <br/>A1: 编号 <br/>A2：案卷题名 <br/>B1：=ds1.select(案卷_档号) <br/>B2：=ds1.案卷_案卷题名 <br/>把没有用到的单元格删除掉。 <br/>设置B1的扩展方向为&#8221;横向扩展&#8221;</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/10/xn-web2-do6fv4hhnv9bz8d1t7a2mrntcz7je1bqxnjzt8z2b5gkuuh8n7e.png" alt="Web报表单元格内容竖排显示的制作方法2.png" height="237"/></p>
<p>现在报表已经做好了，浏览报表，单元格的内容是横向显示的。如下图</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/10/xn-web3-do6fv4hhnv9bz8d1t7a2mrntcz7je1bqxnjzt8z2b5gkuuh8n7e.png" alt="Web报表单元格内容竖排显示的制作方法3.png" height="199"/></p>
<p>下面添加竖排显示的功能： <br/>设置A、B列的宽度为8，使每列只能显示一个汉字。实际运用中的具体宽度要根据字体具体大小算出。</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/10/xn-web4-do6fv4hhnv9bz8d1t7a2mrntcz7je1bqxnjzt8z2b5gkuuh8n7e.png" alt="Web报表单元格内容竖排显示的制作方法4.png" height="460"/></p>
<p>勾选上A1、A2、B2单元格的&#8221;自动换行&#8221;，使每行只能显示一个汉字</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/10/xn-web5-do6fv4hhnv9bz8d1t7a2mrntcz7je1bqxnjzt8z2b5gkuuh8n7e.png" alt="Web报表单元格内容竖排显示的制作方法5.png" height="363"/></p>
<p>设置完成，发布报表，在IE中浏览报表，效果图如下</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/10/xn-web6-do6fv4hhnv9bz8d1t7a2mrntcz7je1bqxnjzt8z2b5gkuuh8n7e.png" alt="Web报表单元格内容竖排显示的制作方法6.png" height="412"/></p>
<p><strong>二．缩进控制加自动换行</strong></p>
<p><strong><br/></strong>方法一只能把列的宽度设置的很小，可以一行显示一个汉字；如果把列的宽度加宽，就不会出现上图中的效果。如果要把列的宽度设置的比较宽，一行又只能显示一个字，该怎么制作呢。 <br/>大致思路：将该单元格内容居中显示, 调整单元格的缩进值，然后勾选上&#8221;自动换行&#8221;属性，就可以在比较宽的列中实现单元格内容竖排显示了。 <br/>这种制作方法和上面的方法基本上一样，现在就用上面做好的报表，把B列的宽度改为25，然后设置B2单元格的缩进值为10，如下图：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/10/xn-web7-do6fv4hhnv9bz8d1t7a2mrntcz7je1bqxnjzt8z2b5gkuuh8n7e.png" alt="Web报表单元格内容竖排显示的制作方法7.png" height="363"/></p>
<p>设置完成，保存报表，然后在IE中浏览报表，效果图如下：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/10/xn-web8-do6fv4hhnv9bz8d1t7a2mrntcz7je1bqxnjzt8z2b5gkuuh8n7e.png" alt="Web报表单元格内容竖排显示的制作方法8.png" height="403"/></p>
<p>从上面的两种效果图可以看出，第一种不能加宽列的宽度，第二种方法可以调整列的宽度。以后遇到类似的需求就可以用上面的方法实现了。</p>
<p>原文链接：<a href="http://javareport.cn/archives/656" rel="bookmark" title="Web报表单元格内容竖排显示的制作方法">Web报表单元格内容竖排显示的制作方法</a></p>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://awebreport.com/archives/607/feed</wfw:commentRss>
		</item>
		<item>
		<title>关于报表基础知识</title>
		<link>http://awebreport.com/archives/606</link>
		<comments>http://awebreport.com/archives/606#comments</comments>
		<pubDate>Thu, 28 Jan 2010 04:14:00 +0000</pubDate>
		<dc:creator>hewei</dc:creator>
		
		<category><![CDATA[web报表]]></category>

		<category><![CDATA[填报]]></category>

		<category><![CDATA[报表]]></category>

		<category><![CDATA[报表工具]]></category>

		<category><![CDATA[报表软件]]></category>

		<guid isPermaLink="false">http://awebreport.com/archives/606</guid>
		<description><![CDATA[什么是报表？
一提起报表，人们最经常联想到的就是财务报表，象资产负债表、现金流量表、报销单等。其实除了财务报表，工作生活里还有很多报表，比如课程表、成绩表、员工登记表、工... ]]></description>
			<content:encoded><![CDATA[<p>什么是<a href="http://www.quiee.com.cn/archives/275"  class="alinks_links" onclick="return alinks_click(this);" title="&#24555;&#36920;&#20813;&#36153;&#25253;&#34920;"  rel="external">报表</a>？</p>
<p>一提起<a href="http://www.quiee.com.cn/archives/292"  class="alinks_links" onclick="return alinks_click(this);" title="&#25253;&#34920;"  rel="external">报表</a>，人们最经常联想到的就是财务报表，象资产负债表、现金流量表、报销单等。其实除了财务报表，工作生活里还有很多报表，比如课程表、成绩表、员工登记表、工资表、物料登记单，银行记账单、手机话费单等等，各行业中的业务报表更是数不胜数。那么，什么是报表？</p>
<p>报表就是将内容信息（一般是数据、文字、图片等）以某种形式组织起来，并将组织结果呈现出来的文件。</p>
<p>对中国用户而言，凡是能打印出来的都可以叫报表。</p>
<p>什么是<a href="http://www.quiee.com.cn/archives/246"  class="alinks_links" onclick="return alinks_click(this);" title="&#25253;&#34920;&#36719;&#20214;"  rel="external">报表软件</a>？</p>
<p>顾名思义，报表软件就是用来制作报表的系统工具，目的是使做表工作简单化，提高总体工作效率。</p>
<p>报表软件有什么用？</p>
<p>报表软件可以帮助用户快速开发出自己想要的报表。这里的用户主要是指企业级用户市场，是除个人桌面级应用以外的市场。</p>
<p>企业级的用户一般有这么几个特征： <br/>（1）应用复杂。企业级用户因为所处行业以及业务的不同，其应用软件涉及到财务、人员、物料、生产等各环节； <br/>（2）数据量大，因为日常的业务往来会产生大量的生产数据； <br/>（3）报表多且种类不同，处于不同生产环节上的人对报表有不同程度的要求。</p>
<p>专业的<a href="http://www.quiee.com.cn/archives/291"  class="alinks_links" onclick="return alinks_click(this);" title="&#25253;&#34920;&#24037;&#20855;"  rel="external">报表工具</a>可以帮助企业级用户迅速定制出业务需要的报表。</p>
]]></content:encoded>
			<wfw:commentRss>http://awebreport.com/archives/606/feed</wfw:commentRss>
		</item>
		<item>
		<title>将数据库操作封装到Javabean</title>
		<link>http://awebreport.com/archives/605</link>
		<comments>http://awebreport.com/archives/605#comments</comments>
		<pubDate>Wed, 27 Jan 2010 04:14:00 +0000</pubDate>
		<dc:creator>hewei</dc:creator>
		
		<category><![CDATA[web报表]]></category>

		<category><![CDATA[java]]></category>

		<category><![CDATA[Javabean]]></category>

		<category><![CDATA[封装]]></category>

		<category><![CDATA[数据库]]></category>

		<guid isPermaLink="false">http://awebreport.com/archives/605</guid>
		<description><![CDATA[封装数据库操作，目的就是为了隐藏java.sql包内的类，在编码中去掉核心的数据库操作代码。以杜绝直接数据库操作容易带来的资源未释放问题。同时也减少了数据库操作的编码量。
　　 但是... ]]></description>
			<content:encoded><![CDATA[<p>封装数据库操作，目的就是为了隐藏java.sql包内的类，在编码中去掉核心的数据库操作代码。以杜绝直接数据库操作容易带来的资源未释放问题。同时也减少了数据库操作的编码量。</p>
<p>　　 但是很多网友在封装时，却喜欢返回结果集(ResultSet对象)，那么这个封装就没有意义了。</p>
<p>　　 1. 又是直接操作核心数据库类，跟封装前几乎没什么变化。</p>
<p>　　 2. 结果集总是依赖于它使用的连接(Connection)对象。因此当连接对象在方法内被关闭后，你返回的ResultSet就没有用了。</p>
<p>　　 如果真的要获得查询数据库的结果集，就把结果集对象内的所有数据，转储到以Map为元素的List对象内。</p>
<p>　　 当然,这种方式,不能适应大数据量的查询,不过如果真的碰到大数据量的查询,那用什么封装都不好,还是得直接数据库操作. :)))</p>
<p>　　 下面是简单的数据库操作Javabean的代码</p>
<p>　　 DbWrapper.java</p>
<p>　　 import java.sql.*;</p>
<p>　　 import java.util.*;</p>
<p>　　 public class DbWrapper</p>
<p>　　 {</p>
<p>　　 // 定义连接池对象为静态变量，将一直存在，直到工作目录关闭。</p>
<p>　　 private static DataSource ds = null;</p>
<p>　　 // 1.用连接池的方式获得连接</p>
<p>　　 // 如果不是做多数据库程序，推荐使用此方法</p>
<p>　　 // 相关内容：在tomcat管理界面配置连接池</p>
]]></content:encoded>
			<wfw:commentRss>http://awebreport.com/archives/605/feed</wfw:commentRss>
		</item>
		<item>
		<title>动态行的自动计算</title>
		<link>http://awebreport.com/archives/611</link>
		<comments>http://awebreport.com/archives/611#comments</comments>
		<pubDate>Tue, 26 Jan 2010 04:14:00 +0000</pubDate>
		<dc:creator>hewei</dc:creator>
		
		<category><![CDATA[web报表]]></category>

		<category><![CDATA[动态行 自动 计算]]></category>

		<guid isPermaLink="false">http://awebreport.com/archives/611</guid>
		<description><![CDATA[随着B/S方式应用的普及，数据填报也逐渐转移到了网页上进行。数据录入最常见的需求之一就是动态增删行与自动计算。
所谓的动态增删行，即用户录入的过程中可以删除一些已有的行，也可... ]]></description>
			<content:encoded><![CDATA[<p>随着B/S方式应用的普及，数据填报也逐渐转移到了网页上进行。数据录入最常见的需求之一就是动态增删行与自动计算。</p>
<p>所谓的动态增删行，即用户录入的过程中可以删除一些已有的行，也可以添加一些新的行，新的行和已有的行除数据外别的属性基本完全相似。</p>
<p>所谓自动计算，是指根据用户录入的某些单元格的值，自动计算出另外一些单元格的值，从而简化用户的输入，同时避免错误数据的录入。</p>
<p>因此，对于可以增加删除行的填<a href="http://www.quiee.com.cn/archives/275"  class="alinks_links" onclick="return alinks_click(this);" title="&#24555;&#36920;&#20813;&#36153;&#25253;&#34920;"  rel="external">报表</a>，同样存在自动计算的问题。新增加的行如何添加到自动计算表达式中，比如sum\count等；已经删除的行如何从自动计算表达式中去掉？</p>
<p>在传统的C/S模式下，增删行的自动计算问题实现较为容易，采用通行的算法（在大多数数据结构教程中都有介绍）编写表达式计算程序来分析处理表达 式，在取单元格时根据当前环境从某逻辑行中取出数据参与运算即可（著名开发工具PowerBuilder中的Datawindow即是这样实现的）。</p>
<p>但是，在HTML页面上完成同样的工作则要困难得多。在纯HTML页面上通行的编程技术只有解释执行的JavaScript语言（以下简称JS）。 理论上采用JS编写表达式计算程序仍然可行，但实践中却会因JS效率过于低下而无法实用；同时由于JS语言本身能力较弱，写出这种复杂功能程序的代码量会 相当大，导致页面过于庞大而不利于下载。因此，在实际应用中不可能在纯HTML页面上实施上面的思路。</p>
<p>所幸的是，JS中固化了一个eval函数可用于计算表达式。但eval计算的表达式中只能出现事先定义过的JS变量或函数，而不能由程序员自行编写重载代码动态地取出某逻辑行的单元格值。</p>
<p>在这种限制下，采用静态<a href="http://www.quiee.com.cn/archives/292"  class="alinks_links" onclick="return alinks_click(this);" title="&#25253;&#34920;"  rel="external">报表</a>方案可以有限地解决HTML页面上的表达式计算问题。即在报表发布成HTML之前，由后台程序为所有逻辑行生成由发布后 报表上静态单元格构成的表达式，其中统计表达式都分解成发布后报表上单个单元格的运算。这样，在HTML页面上执行eval函数时将不会再出现未定义的变 量（单元格）从而可以完成计算。</p>
<p>但是，这种方案不允许报表在填写过程中再插入或删除行。新增逻辑行上的行内表达式无法自动被添加出来（用JS自行计算出变换后的表达式与用JS编写计算表达式程序的复杂度是一致的），且统计表达式中将缺少新增行中的单元格。这时计算将不能完整地进行。</p>
<p>对于动态报表填写（即填写过程中要再插入或删除行）上的表达式计算，目前只能采用针对性编程的方案，为每种报表编写一段JS代码，拼出该报表发生变化后需要增加或修改的表达式。但显然这种方案没有通用性。</p>
<p>经过深入研究，<a href="http://www.quiee.com.cn"  class="alinks_links" onclick="return alinks_click(this);" title="&#24555;&#36920;&#25253;&#34920;"  rel="external">快逸</a>报表发明了一种新的算法，可以很轻松地解决增删行的的自动计算问题，其实现步骤如下：</p>
<h2>实现步骤</h2>
<ol>
<li>设计一个行式填报表</li>
<li>按照业务要求写入自动计算表达式</li>
<li>现发布，系统会自动实现增删行时的自动计算</li>
</ol>
<h2>效果演示：</h2>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/02/auto-computer1.png" alt="auto_computer1.png" height="80" width="583"/></p>
<p style="MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0pt" class="p0"><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'"><span style="FONT-FAMILY: 宋体"><a href="http://www.quiee.com.cn/archives/292"  class="alinks_links" onclick="return alinks_click(this);" title="java&#25253;&#34920;&#35774;&#35745;"  rel="external">报表设计</a>界面</span></span></p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/02/auto-computer2.png" alt="auto_computer2.png" height="325" width="485"/></p>
<p style="MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0pt" class="p0"><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'">C3<span style="FONT-FAMILY: 宋体">单元格里写入的自动计算表达式</span></span></p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/02/auto-computer3.png" alt="auto_computer3.png" height="106" width="583"/></p>
<p style="MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0pt" class="p0"><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'"><span style="FONT-FAMILY: 宋体">浏览界面（尚未添加新行）</span></span></p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/02/auto-computer4.png" alt="auto_computer4.png" height="127" width="583"/></p>
<p style="MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0pt" class="p0"><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'"><span style="FONT-FAMILY: 宋体">浏览界面（添加了新行）</span></span></p>
<p><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'"><span style="FONT-FAMILY: 宋体">引自：<a href="http://www.quiee.com.cn/tech" target="_blank" title="报表工具技术知识库">报表工具知识库</a> <br/>原文链接： <a href="http://www.quiee.com.cn/archives/939"><span style="COLOR: #000000">快逸报表行式填报：动态行的自动计算</span></a> <br/>相关文章：<a href="http://www.quiee.com.cn/archives/334" target="_blank" title="普及报表系统功能说明">普及报表系统功能说明</a> ; <a href="D:\Program Files\boke\archives\19" target="_blank" title="好用的java报表开发工具">好用的java开发工具</a> ; <a href="http://www.quiee.com.cn/archives/531" title="数据集由内建还原为sql后没有数据">数据集由内建还原为sql后没有数据</a> ; <a href="http://www.quiee.com.cn/archives/820" title="快逸报表在瑞星2009下填报编辑框无法使用的解决办法">快逸报表在瑞星2009下填报编辑框无法使用的解决办法</a> <br/>其他相关内容：<a href="http://www.runqian.com.cn/" target="_blank" title="java报表软件--润乾企业级java报表">润乾报表</a> ; <a href="http://www.raqsoft.com/" target="_blank" title="RAQSOFT">RAQSOFT</a> ; <a href="http://www.runqian.com.cn/solution/solution_index.htm" target="_blank" title="润乾商业智能解决方案">润乾商业智能解决方案</a> ；<a href="http://awebreport.com/" target="_blank" title="web报表，.net报表，报表技术，报表应用">web报表研究</a> ；<a href="http://www.bonzerreport.com/" target="_blank" title="专注于.net报表开发的.net报表工具">专业.net报表工具</a></span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://awebreport.com/archives/611/feed</wfw:commentRss>
		</item>
		<item>
		<title>动态行的自动计算</title>
		<link>http://awebreport.com/archives/604</link>
		<comments>http://awebreport.com/archives/604#comments</comments>
		<pubDate>Tue, 26 Jan 2010 04:14:00 +0000</pubDate>
		<dc:creator>hewei</dc:creator>
		
		<category><![CDATA[web报表]]></category>

		<category><![CDATA[动态行 自动 计算]]></category>

		<guid isPermaLink="false">http://awebreport.com/archives/604</guid>
		<description><![CDATA[随着B/S方式应用的普及，数据填报也逐渐转移到了网页上进行。数据录入最常见的需求之一就是动态增删行与自动计算。
所谓的动态增删行，即用户录入的过程中可以删除一些已有的行，也可... ]]></description>
			<content:encoded><![CDATA[<p>随着B/S方式应用的普及，数据填报也逐渐转移到了网页上进行。数据录入最常见的需求之一就是动态增删行与自动计算。</p>
<p>所谓的动态增删行，即用户录入的过程中可以删除一些已有的行，也可以添加一些新的行，新的行和已有的行除数据外别的属性基本完全相似。</p>
<p>所谓自动计算，是指根据用户录入的某些单元格的值，自动计算出另外一些单元格的值，从而简化用户的输入，同时避免错误数据的录入。</p>
<p>因此，对于可以增加删除行的填<a href="http://www.quiee.com.cn/archives/275"  class="alinks_links" onclick="return alinks_click(this);" title="&#24555;&#36920;&#20813;&#36153;&#25253;&#34920;"  rel="external">报表</a>，同样存在自动计算的问题。新增加的行如何添加到自动计算表达式中，比如sum\count等；已经删除的行如何从自动计算表达式中去掉？</p>
<p>在传统的C/S模式下，增删行的自动计算问题实现较为容易，采用通行的算法（在大多数数据结构教程中都有介绍）编写表达式计算程序来分析处理表达 式，在取单元格时根据当前环境从某逻辑行中取出数据参与运算即可（著名开发工具PowerBuilder中的Datawindow即是这样实现的）。</p>
<p>但是，在HTML页面上完成同样的工作则要困难得多。在纯HTML页面上通行的编程技术只有解释执行的JavaScript语言（以下简称JS）。 理论上采用JS编写表达式计算程序仍然可行，但实践中却会因JS效率过于低下而无法实用；同时由于JS语言本身能力较弱，写出这种复杂功能程序的代码量会 相当大，导致页面过于庞大而不利于下载。因此，在实际应用中不可能在纯HTML页面上实施上面的思路。</p>
<p>所幸的是，JS中固化了一个eval函数可用于计算表达式。但eval计算的表达式中只能出现事先定义过的JS变量或函数，而不能由程序员自行编写重载代码动态地取出某逻辑行的单元格值。</p>
<p>在这种限制下，采用静态<a href="http://www.quiee.com.cn/archives/292"  class="alinks_links" onclick="return alinks_click(this);" title="&#25253;&#34920;"  rel="external">报表</a>方案可以有限地解决HTML页面上的表达式计算问题。即在报表发布成HTML之前，由后台程序为所有逻辑行生成由发布后 报表上静态单元格构成的表达式，其中统计表达式都分解成发布后报表上单个单元格的运算。这样，在HTML页面上执行eval函数时将不会再出现未定义的变 量（单元格）从而可以完成计算。</p>
<p>但是，这种方案不允许报表在填写过程中再插入或删除行。新增逻辑行上的行内表达式无法自动被添加出来（用JS自行计算出变换后的表达式与用JS编写计算表达式程序的复杂度是一致的），且统计表达式中将缺少新增行中的单元格。这时计算将不能完整地进行。</p>
<p>对于动态报表填写（即填写过程中要再插入或删除行）上的表达式计算，目前只能采用针对性编程的方案，为每种报表编写一段JS代码，拼出该报表发生变化后需要增加或修改的表达式。但显然这种方案没有通用性。</p>
<p>经过深入研究，<a href="http://www.quiee.com.cn"  class="alinks_links" onclick="return alinks_click(this);" title="&#24555;&#36920;&#25253;&#34920;"  rel="external">快逸</a>报表发明了一种新的算法，可以很轻松地解决增删行的的自动计算问题，其实现步骤如下：</p>
<h2>实现步骤</h2>
<ol>
<li>设计一个行式填报表</li>
<li>按照业务要求写入自动计算表达式</li>
<li>现发布，系统会自动实现增删行时的自动计算</li>
</ol>
<h2>效果演示：</h2>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/02/auto-computer1.png" alt="auto_computer1.png" height="80" width="583"/></p>
<p style="MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0pt" class="p0"><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'"><span style="FONT-FAMILY: 宋体"><a href="http://www.quiee.com.cn/archives/292"  class="alinks_links" onclick="return alinks_click(this);" title="java&#25253;&#34920;&#35774;&#35745;"  rel="external">报表设计</a>界面</span></span></p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/02/auto-computer2.png" alt="auto_computer2.png" height="325" width="485"/></p>
<p style="MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0pt" class="p0"><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'">C3<span style="FONT-FAMILY: 宋体">单元格里写入的自动计算表达式</span></span></p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/02/auto-computer3.png" alt="auto_computer3.png" height="106" width="583"/></p>
<p style="MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0pt" class="p0"><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'"><span style="FONT-FAMILY: 宋体">浏览界面（尚未添加新行）</span></span></p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/02/auto-computer4.png" alt="auto_computer4.png" height="127" width="583"/></p>
<p style="MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0pt" class="p0"><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'"><span style="FONT-FAMILY: 宋体">浏览界面（添加了新行）</span></span></p>
<p><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: '宋体'"><span style="FONT-FAMILY: 宋体">引自：<a href="http://www.quiee.com.cn/tech" target="_blank" title="报表工具技术知识库">报表工具知识库</a> <br/>原文链接： <a href="http://www.quiee.com.cn/archives/939"><span style="COLOR: #000000">快逸报表行式填报：动态行的自动计算</span></a> <br/>相关文章：<a href="http://www.quiee.com.cn/archives/334" target="_blank" title="普及报表系统功能说明">普及报表系统功能说明</a> ; <a href="D:\Program Files\boke\archives\19" target="_blank" title="好用的java报表开发工具">好用的java开发工具</a> ; <a href="http://www.quiee.com.cn/archives/531" title="数据集由内建还原为sql后没有数据">数据集由内建还原为sql后没有数据</a> ; <a href="http://www.quiee.com.cn/archives/820" title="快逸报表在瑞星2009下填报编辑框无法使用的解决办法">快逸报表在瑞星2009下填报编辑框无法使用的解决办法</a> <br/>其他相关内容：<a href="http://www.runqian.com.cn/" target="_blank" title="java报表软件--润乾企业级java报表">润乾报表</a> ; <a href="http://www.raqsoft.com/" target="_blank" title="RAQSOFT">RAQSOFT</a> ; <a href="http://www.runqian.com.cn/solution/solution_index.htm" target="_blank" title="润乾商业智能解决方案">润乾商业智能解决方案</a> ；<a href="http://awebreport.com/" target="_blank" title="web报表，.net报表，报表技术，报表应用">web报表研究</a> ；<a href="http://www.bonzerreport.com/" target="_blank" title="专注于.net报表开发的.net报表工具">专业.net报表工具</a></span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://awebreport.com/archives/604/feed</wfw:commentRss>
		</item>
		<item>
		<title>快逸报表部署中异常信息：no report config file！错误排除步骤</title>
		<link>http://awebreport.com/archives/603</link>
		<comments>http://awebreport.com/archives/603#comments</comments>
		<pubDate>Sat, 23 Jan 2010 08:24:00 +0000</pubDate>
		<dc:creator>hewei</dc:creator>
		
		<category><![CDATA[web相关技术]]></category>

		<category><![CDATA[no report config file]]></category>

		<category><![CDATA[快逸报表]]></category>

		<category><![CDATA[部署错误]]></category>

		<category><![CDATA[部署错误排查]]></category>

		<guid isPermaLink="false">http://awebreport.com/archives/603</guid>
		<description><![CDATA[
在用快逸报表进行Web开发，部署到Web服务器上时，经常会在浏览报表的过程中遇到这样一个报表异常信息&#8221;no report config file&#8221;，导致报表无法浏览。此异常信息显示在jsp页面上，下图为... ]]></description>
			<content:encoded><![CDATA[<div class="entry">
<p>在用<a href="http://www.quiee.com.cn"  class="alinks_links" onclick="return alinks_click(this);" title="&#24555;&#36920;&#25253;&#34920;"  rel="external">快逸</a><a href="http://www.quiee.com.cn/archives/275"  class="alinks_links" onclick="return alinks_click(this);" title="&#24555;&#36920;&#20813;&#36153;&#25253;&#34920;"  rel="external">报表</a>进行Web开发，部署到Web服务器上时，经常会在浏览<a href="http://www.quiee.com.cn/archives/292"  class="alinks_links" onclick="return alinks_click(this);" title="&#25253;&#34920;"  rel="external">报表</a>的过程中遇到这样一个报表异常信息&#8221;no report config file&#8221;，导致报表无法浏览。此异常信息显示在jsp页面上，下图为异常信息显示截图：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/10/xn-vuq726akra92a7s69how5gq5f7lk8um.png" alt="快逸报表异常错误信息.png" height="450"/></p>
<p>查看后台报错信息为： <br/>javax.servlet.ServletException: No report config file! <br/>at com.runqian.report4.view.ReportServlet.loadConfig(Unknown Source:75) <br/>at com.runqian.report4.view.ReportServlet.reloadConfig(Unknown Source:823) <br/>at com.runqian.report4.tag.HtmlTag.doStartTag(Unknown Source:20)</p>
<p>从字面的意思上看，是没有报表配置文件，可明明部署的时候，配置文件reportConfig.xml和web.xml都有，为什么还会出现这个异常呢？从异常信息上看不出什么端倪，其实，这个问题的原因是写这些配置文件的时候，有一些小细节被忽略，稍不注意就会出错，下面，就来看一下正确的配置文件写法。</p>
<p>第一步：先来看一下reportConfig.xml中需要注意的地方：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/10/xn-reportconfig-s88u728gftib89i245asn3a1ke.png" alt="快逸报表reportConfig配置图.png" height="425"/></p>
<p>第二步： 需要特别注意的是配置的数据源的名字一定要和报表里连接数据源的名字一致，否则会报找不到数据源的异常。</p>
<p>第三步：我们看一下web.xml文件中关于快逸报表servlet的配置：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/10/xn-web-x03fk4jht2f7olxn-xml-wu9d608a32vio5by43a.png" alt="快逸报表web.xml文件配置图.png" height="365"/></p>
<p>在web.xml文件中，配置了<a href="http://www.quiee.com.cn/archives/16"  class="alinks_links" onclick="return alinks_click(this);" title="&#25253;&#34920;&#31995;&#32479;"  rel="external">报表系统</a>中用到的servlet和taglib，如果在项目应用中配置其他功能的servlet和过滤器等，注意一定不要影响到报表的servlet，否则会致使报表不能正常运行。</p>
<p>第四步：看一下数据库连接池的配置文件，一般情况下和应用文件夹同名，这里为demo.xml(weblogic和websphere服务器的数据库连接配置是向导式的，这里不在赘述，详见快逸帮助文档中的J2EE部署手册中的相关介绍)： <br/>以Tomcat为例，在Tomcat5.5版本之前的数据库连接池文件如下图：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/10/xn-1-gl3br3b15ez2aqj40ib0tmy5bo0snysy4ae7h.png" alt="快逸报表数据库连接池配置1.png" height="334"/></p>
<p>在Tomcat5.5- Tomcat6.0版本之后，数据库连接池文件的写法发生了变化，如下图：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/10/xn-2-gl3br3b15ez2aqj40ib0tmy5bo0snysy4ae7h.png" alt="快逸报表数据库连接池配置2.png" height="257"/></p>
<p>第五步：还需要注意一点的是，把配置文件修改后，需要清理Web服务器的缓存并重启服务，重新加载配置文件。 <br/>综上，其实&#8221;no report config file&#8221;异常并不难处理，只要注意配置文正确写法和位置，在异常发生的时候根据上面各项，认真检查，就可以快速的定位异常，解决问题了。 <br/>关键字：快逸报表，部署，配置文件，Tomcat。 <br/>原文链接： <a href="http://www.quiee.com.cn/archives/1721" title="快逸报表部署中异常信息：no report config file！错误排除步骤"><span style="COLOR: #000000">快逸报表部署中异常信息：no report config file！错误排除步骤</span></a></p>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://awebreport.com/archives/603/feed</wfw:commentRss>
		</item>
		<item>
		<title>快逸报表部署中异常信息：no report config file！错误排除步骤</title>
		<link>http://awebreport.com/archives/602</link>
		<comments>http://awebreport.com/archives/602#comments</comments>
		<pubDate>Sat, 23 Jan 2010 08:24:00 +0000</pubDate>
		<dc:creator>hewei</dc:creator>
		
		<category><![CDATA[web相关技术]]></category>

		<category><![CDATA[no report config file]]></category>

		<category><![CDATA[快逸报表]]></category>

		<category><![CDATA[部署错误]]></category>

		<category><![CDATA[部署错误排查]]></category>

		<guid isPermaLink="false">http://awebreport.com/archives/602</guid>
		<description><![CDATA[
在用快逸报表进行Web开发，部署到Web服务器上时，经常会在浏览报表的过程中遇到这样一个报表异常信息&#8221;no report config file&#8221;，导致报表无法浏览。此异常信息显示在jsp页面上，下图为... ]]></description>
			<content:encoded><![CDATA[<div class="entry">
<p>在用<a href="http://www.quiee.com.cn"  class="alinks_links" onclick="return alinks_click(this);" title="&#24555;&#36920;&#25253;&#34920;"  rel="external">快逸</a><a href="http://www.quiee.com.cn/archives/275"  class="alinks_links" onclick="return alinks_click(this);" title="&#24555;&#36920;&#20813;&#36153;&#25253;&#34920;"  rel="external">报表</a>进行Web开发，部署到Web服务器上时，经常会在浏览<a href="http://www.quiee.com.cn/archives/292"  class="alinks_links" onclick="return alinks_click(this);" title="&#25253;&#34920;"  rel="external">报表</a>的过程中遇到这样一个报表异常信息&#8221;no report config file&#8221;，导致报表无法浏览。此异常信息显示在jsp页面上，下图为异常信息显示截图：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/10/xn-vuq726akra92a7s69how5gq5f7lk8um.png" alt="快逸报表异常错误信息.png" height="450"/></p>
<p>查看后台报错信息为： <br/>javax.servlet.ServletException: No report config file! <br/>at com.runqian.report4.view.ReportServlet.loadConfig(Unknown Source:75) <br/>at com.runqian.report4.view.ReportServlet.reloadConfig(Unknown Source:823) <br/>at com.runqian.report4.tag.HtmlTag.doStartTag(Unknown Source:20)</p>
<p>从字面的意思上看，是没有报表配置文件，可明明部署的时候，配置文件reportConfig.xml和web.xml都有，为什么还会出现这个异常呢？从异常信息上看不出什么端倪，其实，这个问题的原因是写这些配置文件的时候，有一些小细节被忽略，稍不注意就会出错，下面，就来看一下正确的配置文件写法。</p>
<p>第一步：先来看一下reportConfig.xml中需要注意的地方：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/10/xn-reportconfig-s88u728gftib89i245asn3a1ke.png" alt="快逸报表reportConfig配置图.png" height="425"/></p>
<p>第二步： 需要特别注意的是配置的数据源的名字一定要和报表里连接数据源的名字一致，否则会报找不到数据源的异常。</p>
<p>第三步：我们看一下web.xml文件中关于快逸报表servlet的配置：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/10/xn-web-x03fk4jht2f7olxn-xml-wu9d608a32vio5by43a.png" alt="快逸报表web.xml文件配置图.png" height="365"/></p>
<p>在web.xml文件中，配置了<a href="http://www.quiee.com.cn/archives/16"  class="alinks_links" onclick="return alinks_click(this);" title="&#25253;&#34920;&#31995;&#32479;"  rel="external">报表系统</a>中用到的servlet和taglib，如果在项目应用中配置其他功能的servlet和过滤器等，注意一定不要影响到报表的servlet，否则会致使报表不能正常运行。</p>
<p>第四步：看一下数据库连接池的配置文件，一般情况下和应用文件夹同名，这里为demo.xml(weblogic和websphere服务器的数据库连接配置是向导式的，这里不在赘述，详见快逸帮助文档中的J2EE部署手册中的相关介绍)： <br/>以Tomcat为例，在Tomcat5.5版本之前的数据库连接池文件如下图：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/10/xn-1-gl3br3b15ez2aqj40ib0tmy5bo0snysy4ae7h.png" alt="快逸报表数据库连接池配置1.png" height="334"/></p>
<p>在Tomcat5.5- Tomcat6.0版本之后，数据库连接池文件的写法发生了变化，如下图：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/10/xn-2-gl3br3b15ez2aqj40ib0tmy5bo0snysy4ae7h.png" alt="快逸报表数据库连接池配置2.png" height="257"/></p>
<p>第五步：还需要注意一点的是，把配置文件修改后，需要清理Web服务器的缓存并重启服务，重新加载配置文件。 <br/>综上，其实&#8221;no report config file&#8221;异常并不难处理，只要注意配置文正确写法和位置，在异常发生的时候根据上面各项，认真检查，就可以快速的定位异常，解决问题了。 <br/>关键字：快逸报表，部署，配置文件，Tomcat。 <br/>原文链接： <a href="http://www.quiee.com.cn/archives/1721" title="快逸报表部署中异常信息：no report config file！错误排除步骤"><span style="COLOR: #000000">快逸报表部署中异常信息：no report config file！错误排除步骤</span></a></p>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://awebreport.com/archives/602/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
