??xml version="1.0" encoding="utf-8" standalone="yes"?>91综合免费在线,免费在线观看av电影,国产亚洲视频在线观看http://www.aygfsteel.com/kxbin/category/50167.html创出一片天?/description>zh-cnTue, 27 Dec 2011 03:23:04 GMTTue, 27 Dec 2011 03:23:04 GMT60如何一个List对象传递给皕杰报表在页面展C(二)http://www.aygfsteel.com/kxbin/articles/366950.htmlkxbinkxbinWed, 21 Dec 2011 08:53:00 GMThttp://www.aygfsteel.com/kxbin/articles/366950.htmlhttp://www.aygfsteel.com/kxbin/comments/366950.htmlhttp://www.aygfsteel.com/kxbin/articles/366950.html#Feedback0http://www.aygfsteel.com/kxbin/comments/commentRss/366950.htmlhttp://www.aygfsteel.com/kxbin/services/trackbacks/366950.html1.java文gQ承CustomDataSetQ文件下?a title="java文g" href="/Files/kxbin/CustomDs.rar">java文g
2. 皕杰报表Q存在参数及变量Q文件下?a title="皕杰报表下蝲" href="/Files/kxbin/自定义数据集.rar">皕杰报表下蝲

kxbin 2011-12-21 16:53 发表评论
]]>
如何一个List对象传递给皕杰报表在页面展C?/title><link>http://www.aygfsteel.com/kxbin/articles/366944.html</link><dc:creator>kxbin</dc:creator><author>kxbin</author><pubDate>Wed, 21 Dec 2011 08:33:00 GMT</pubDate><guid>http://www.aygfsteel.com/kxbin/articles/366944.html</guid><wfw:comment>http://www.aygfsteel.com/kxbin/comments/366944.html</wfw:comment><comments>http://www.aygfsteel.com/kxbin/articles/366944.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/kxbin/comments/commentRss/366944.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/kxbin/services/trackbacks/366944.html</trackback:ping><description><![CDATA[1.创徏List对象Q访问皕杰报?br /><div><div>List list = systemService.find(hql); //查询l果集,攑ֈlist对象?/div><div>request.getSession().setAttribute("list", list);//l果集放到session容器中,<br /><span style="color: red; ">注意Qؓ啥将l果集放到session容器Q而不攑օrequest对象中?查询的结果集q多Q涉及到页Q用request对象Q翻后不能获得list对象中的内容?/span></div><div>request.getRequestDispatcher("/ReportEmitter?rpt=contractState.brt").forward(request, response);<br />2.l承ContractStateDataSetQ将l果集放到报表中<br /> package bios.report.user.dev.demo.dataset;</div><div><div></div><div>import java.util.ArrayList;</div><div>import java.util.Iterator;</div><div>import java.util.List;</div><div>import java.util.Set;</div><div></div><div>import javax.servlet.http.HttpSession;</div><div></div><div>import bios.report.engine.api.CustomDataSet;</div><div>import bios.report.engine.api.UserContext;</div><div></div><div>import com.dhcc.itsm.document.model.Contract;</div><div>import com.dhcc.itsm.document.model.ContractPay;</div><div>import com.dhcc.itsm.document.model.ContractSettlement;</div><div></div><div>/**</div><div> * @author dhcc</div><div> */</div><div>public class ContractStateDataSet implements CustomDataSet{</div><div></div><div><span style="white-space:pre"> </span>private String[] metaData;<span style="white-space:pre"> </span></div><div><span style="white-space:pre"> </span>private List<Contract> conList = new ArrayList<Contract>();</div><div><span style="white-space:pre"> </span>@SuppressWarnings("unchecked")</div><div><span style="white-space:pre"> </span>private List data;</div><div></div><div><span style="white-space:pre"> </span>public String[] getMetaData() {</div><div><span style="white-space:pre"> </span>return metaData;</div><div><span style="white-space:pre"> </span>}</div><div></div><div><span style="white-space:pre"> </span>public int getRowCount() {</div><div><span style="white-space:pre"> </span>return data.size();</div><div><span style="white-space:pre"> </span>}</div><div></div><div><span style="white-space:pre"> </span>public Object[] getRowData(int rowIndex) {</div><div><span style="white-space:pre"> </span>return (Object[])data.get(rowIndex);</div><div><span style="white-space:pre"> </span>}</div><div></div><div><span style="white-space:pre"> </span>@SuppressWarnings("unchecked")</div><div><span style="white-space:pre"> </span>public void applyParams(Object[] arg0) {</div><div><span style="white-space:pre"> </span>HttpSession req = UserContext.getCurrentUserContext().getRequest().getSession();</div><div><span style="white-space:pre"> </span>conList = (List<Contract>) req.getAttribute("list");</div><div><span style="white-space:pre"> </span>metaData = new String[]{"合同名称","合同金额","l算日期","l算金额","l算合计","付款日期","付款金额","付款合计","施工单位"};</div><div><span style="white-space:pre"> </span>data = new ArrayList();</div><div><span style="white-space:pre"> </span>try {</div><div><span style="white-space:pre"> </span>if(conList != null && !conList.isEmpty()){</div><div><span style="white-space:pre"> </span>for(int i=0;i<conList.size();i++){</div><div><span style="white-space:pre"> </span>Contract con = conList.get(i);</div><div><span style="white-space:pre"> </span>String[] settleStr = getSettle(con.getSettleSet());//l款信息攑ֈ字符串中</div><div><span style="white-space:pre"> </span>String[] payStr = getPay(con.getPaySet()); //付款信息攑ֈ字符串中</div><div><span style="white-space:pre"> </span>data.add(new Object[]{con.getContractName(),con.getMoney(),settleStr[0],settleStr[1],</div><div><span style="white-space:pre"> </span>Double.parseDouble(settleStr[2]),payStr[0],payStr[1],Double.parseDouble(payStr[2]),con.getYiFang()});</div><div><span style="white-space:pre"> </span>}</div><div><span style="white-space:pre"> </span>}</div><div><span style="white-space:pre"> </span>} catch (Exception e) {</div><div><span style="white-space:pre"> </span>e.printStackTrace();</div><div><span style="white-space:pre"> </span>}</div><div><span style="white-space:pre"> </span>}</div><div></div><div><span style="white-space:pre"> </span>public List<Contract> getConList() {</div><div><span style="white-space:pre"> </span>return conList;</div><div><span style="white-space:pre"> </span>}</div><div></div><div><span style="white-space:pre"> </span>public void setConList(List<Contract> conList) {</div><div><span style="white-space:pre"> </span>this.conList = conList;</div><div><span style="white-space:pre"> </span>}</div><div><span style="white-space:pre"> </span></div><div><span style="white-space:pre"> </span>/**</div><div><span style="white-space:pre"> </span> * l款信息攑ֈ攑ֈ字符串中</div><div><span style="white-space:pre"> </span> * @param settleList</div><div><span style="white-space:pre"> </span> * @return</div><div><span style="white-space:pre"> </span> */</div><div><span style="white-space:pre"> </span>@SuppressWarnings("unchecked")</div><div><span style="white-space:pre"> </span>private String[] getSettle(Set<ContractSettlement> settleSet){</div><div><span style="white-space:pre"> </span>String[] settleStr = new String[3];</div><div><span style="white-space:pre"> </span>String settleTemp = "\n";//l算日期</div><div><span style="white-space:pre"> </span>String moneyStr ="\n";//l算金额</div><div><span style="white-space:pre"> </span>double settleSum = 0;//l款总金?/div><div><span style="white-space:pre"> </span>if(settleSet != null && !settleSet.isEmpty()){</div><div><span style="white-space:pre"> </span>Iterator it = settleSet.iterator();</div><div><span style="white-space:pre"> </span>while(it.hasNext()){</div><div><span style="white-space:pre"> </span>ContractSettlement settle = (ContractSettlement) it.next();</div><div><span style="white-space:pre"> </span>settleTemp += settle.getBalanceDate() +"\n\n";</div><div><span style="white-space:pre"> </span>moneyStr += settle.getMoney()+"\n\n";</div><div><span style="white-space:pre"> </span>settleSum +=Double.parseDouble(settle.getMoney());</div><div><span style="white-space:pre"> </span>}</div><div><span style="white-space:pre"> </span>}</div><div><span style="white-space:pre"> </span>settleStr[0]=settleTemp;</div><div><span style="white-space:pre"> </span>settleStr[1]=moneyStr;</div><div><span style="white-space:pre"> </span>settleStr[2]=String.valueOf(settleSum);</div><div><span style="white-space:pre"> </span>return settleStr;</div><div><span style="white-space:pre"> </span>}</div><div><span style="white-space:pre"> </span></div><div><span style="white-space:pre"> </span>/**</div><div><span style="white-space:pre"> </span> * 付款信息攑ֈ攑ֈ字符串中</div><div><span style="white-space:pre"> </span> * @param settleList</div><div><span style="white-space:pre"> </span> * @return</div><div><span style="white-space:pre"> </span> */</div><div><span style="white-space:pre"> </span>@SuppressWarnings("unchecked")</div><div><span style="white-space:pre"> </span>private String[] getPay(Set<ContractPay> paySet){</div><div><span style="white-space:pre"> </span>String[] payStr = new String[3];</div><div><span style="white-space:pre"> </span>String payTemp = "\n";//</div><div><span style="white-space:pre"> </span>String moneyStr ="\n";</div><div><span style="white-space:pre"> </span>double paySum = 0;//付款总金?/div><div><span style="white-space:pre"> </span>if(paySet != null && !paySet.isEmpty()){</div><div><span style="white-space:pre"> </span>Iterator it = paySet.iterator();</div><div><span style="white-space:pre"> </span>while(it.hasNext()){</div><div><span style="white-space:pre"> </span>ContractPay pay = (ContractPay) it.next();</div><div><span style="white-space:pre"> </span>payTemp += pay.getPayDate() +"\n\n";</div><div><span style="white-space:pre"> </span>moneyStr += pay.getMoney()+"\n\n";</div><div><span style="white-space:pre"> </span>paySum +=Double.parseDouble(pay.getMoney());</div><div><span style="white-space:pre"> </span>}</div><div><span style="white-space:pre"> </span>}</div><div><span style="white-space:pre"> </span>payStr[0]=payTemp;</div><div><span style="white-space:pre"> </span>payStr[1]=moneyStr;</div><div><span style="white-space:pre"> </span>payStr[2]=String.valueOf(paySum);</div><div><span style="white-space:pre"> </span>return payStr;</div><div><span style="white-space:pre"> </span>}</div><div><span style="white-space:pre"> </span></div><div>}<br />3.皕杰报表讄及下?br /><div><a title="皕杰报表" href="http://www.aygfsteel.com/Files/kxbin/contractState.rar">皕杰报表</a>下蝲</div></div></div><div></div></div><img src ="http://www.aygfsteel.com/kxbin/aggbug/366944.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/kxbin/" target="_blank">kxbin</a> 2011-12-21 16:33 <a href="http://www.aygfsteel.com/kxbin/articles/366944.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>l皕杰报表每行加序号http://www.aygfsteel.com/kxbin/articles/366346.htmlkxbinkxbinWed, 14 Dec 2011 08:21:00 GMThttp://www.aygfsteel.com/kxbin/articles/366346.htmlhttp://www.aygfsteel.com/kxbin/comments/366346.htmlhttp://www.aygfsteel.com/kxbin/articles/366346.html#Feedback0http://www.aygfsteel.com/kxbin/comments/commentRss/366346.htmlhttp://www.aygfsteel.com/kxbin/services/trackbacks/366346.html

需?Q给报表的每一行都加上序号Qƈ且分后q箋

打开报表设计器,设计如下报表Q?/p>

image

a2单元格的D|ؓds1.#0,q将a2单元格的左主D|成b2Q预览效果如下:Q假设每?0条记录的分页方式Q?/p>

image image

我们可以看到Q序号已l生了Qƈ且是W二늚序号是与W一连l的?/p>

可是在有些情况下希望分页后序号不q箋Q而要重新计算Q这怎么实现呢?下面来看看我今天分析的第二个技巧:

需?Q给报表的每一行都加上序号Qƈ且每都?开始计?/strong>

要实现这L需求,我们可以用给序号取模的原理来?每页都从1开始排序,具体操作是把A2单元g的表辑ּ换成Q?ds1.#0%2Q然后我们看一下发布后的效果:

image image

我们可以看到Q第二页q是?开始排序的Q基本满了要求Q?/p>

{等Q怎么W?0行变?了?q可不行Q!Q?/p>

׃是对20取模q算Q所以第20行的序号变?了,我们可以在a2单元格的昄gq行讄Q当gؓ0的时候,让其昄?0Q这样问题就解决Q显CD辑ּQ?if(@value=0,20,@value);再次预览一下效果如下:

image image

到这里,全部需求满IQ下ơ我要分享另外一U序h表制作方?/p>

kxbin 2011-12-14 16:21 发表评论
]]>
如何在编辑查询SQL中用if语句Q皕杰报表)http://www.aygfsteel.com/kxbin/articles/365117.htmlkxbinkxbinTue, 29 Nov 2011 07:06:00 GMThttp://www.aygfsteel.com/kxbin/articles/365117.htmlhttp://www.aygfsteel.com/kxbin/comments/365117.htmlhttp://www.aygfsteel.com/kxbin/articles/365117.html#Feedback0http://www.aygfsteel.com/kxbin/comments/commentRss/365117.htmlhttp://www.aygfsteel.com/kxbin/services/trackbacks/365117.html
1.如何接收为空的参数。如果参数的gؓI,则and ias.origin='' "Q如果参数的g为空Q则 and ias.origin=?
="select * from itsm_assets ias,itsm_department ide
where ias.del = '0'
      and ias.department=ide.id      
      and ide.name=?"
      +if((@origin==null or @origin=='')," and ias.origin='' "," and ias.origin=? ") +
"order by ias.date_recorded desc"


kxbin 2011-11-29 15:06 发表评论
]]>
皕杰报表QBIOS ReportQ中如何使用html元素http://www.aygfsteel.com/kxbin/articles/364674.htmlkxbinkxbinWed, 23 Nov 2011 14:34:00 GMThttp://www.aygfsteel.com/kxbin/articles/364674.htmlhttp://www.aygfsteel.com/kxbin/comments/364674.htmlhttp://www.aygfsteel.com/kxbin/articles/364674.html#Feedback0http://www.aygfsteel.com/kxbin/comments/commentRss/364674.htmlhttp://www.aygfsteel.com/kxbin/services/trackbacks/364674.html

皕杰报表的单元格有一个特性,是可以讑֮单元格的cdQ我们通常~辑单元格的值和表达式时Q默认的单元格数据类型是文本。上面所说的情况则要用到文本的单元根{下面给Z个例子来实际说明一下用法?/p>

一个简单的报表Q有四列Q分别ؓ客户~号、客户名U、联pȝ话和客户cdQ现在希望在客LhCZؓ复选框Q可以自由选中需要的行?/p>

设计步骤Q?/p>

1、将A3单元格的属?#8220;是否HTML”讄?#8220;?#8221;Q再使用html语法设计出checkbox样式风格"<input type=’checkbox’ name=’checkbox’ value=’"+ds1.select(CUSTOMER_ID)+"’/>"。如下图所C:

image

2、发布到|页上,可以看到Q第一列出C复选框

image



kxbin 2011-11-23 22:34 发表评论
]]>
皕杰报表技巧:巧用I值判断函?/title><link>http://www.aygfsteel.com/kxbin/articles/364661.html</link><dc:creator>kxbin</dc:creator><author>kxbin</author><pubDate>Wed, 23 Nov 2011 10:09:00 GMT</pubDate><guid>http://www.aygfsteel.com/kxbin/articles/364661.html</guid><wfw:comment>http://www.aygfsteel.com/kxbin/comments/364661.html</wfw:comment><comments>http://www.aygfsteel.com/kxbin/articles/364661.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/kxbin/comments/commentRss/364661.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/kxbin/services/trackbacks/364661.html</trackback:ping><description><![CDATA[<div><span style="color: #5e88d0; font-family: Arial; line-height: 20px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><p style="line-height: normal; ">在设计企业报表时Q报表单元格的表辑ּ中经帔R要用到空值判断,例如在单元格的显C值属性中Q判断当单元格的gؓI时Q显CZؓ0Q否则显C单元格的真实|{等。一般这U情况下Q用户习惯写的表辑ּ是: if(@value=null, 0, @value)?/p><p style="line-height: normal; ">如果我们把@value换成更加复杂的表辑ּQ例如if(ds1.getone(…)==null, 0, ds1.getone(…))Q大家可以看出,q种法明显很慢Q需要把ds1.getone(…)q样的复杂表辑ּq算两次Q而如果采用nvl() 则可以避免这个问题?/p><p style="line-height: normal; ">单元格函敎ͼnvl()</p><p style="line-height: normal; ">函数说明Q?nbsp;<br style="line-height: normal; " />ҎW一个表辑ּ的值是否ؓI,若ؓI则q回指定?/p><p style="line-height: normal; ">语法Q?nbsp;<br style="line-height: normal; " />nvl( valueExp1, valueExp2 )</p><p style="line-height: normal; ">参数说明Q?nbsp;<br style="line-height: normal; " />valueExp1–需要计的表达式,其结果不为空时返回其?nbsp;<br style="line-height: normal; " />valueExp2–需要计的表达式,当valueExp1l果为空时返回此?/p><p style="line-height: normal; ">q回| <br style="line-height: normal; " />valueExp1或valueExp2的结果?/p><p style="line-height: normal; ">CZQ?nbsp;<br style="line-height: normal; " />?Qnvl(A1,””) 表示当A1为空Ӟq回IZQ否则返回A1</p><p style="line-height: normal; ">?Qnvl(@value,0) 表示当当前格为空时返?Q否则返回当前格的?/p><p style="line-height: normal; ">应用举例Q?/p><p style="line-height: normal; ">正确写法Q速度?</p><p style="line-height: normal; ">nvl(ds1.getone(…), 0) <br style="line-height: normal; " />nvl(a1[……]{……}, “–”)</p><p style="line-height: normal; ">错误写法Q速度?</p><p style="line-height: normal; ">if(ds1.getone(…)==null, 0, ds1.getone(…)) <br style="line-height: normal; " />if(a1[……]{……}==null, “–”, a1[……]{……})</p></span></div><img src ="http://www.aygfsteel.com/kxbin/aggbug/364661.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/kxbin/" target="_blank">kxbin</a> 2011-11-23 18:09 <a href="http://www.aygfsteel.com/kxbin/articles/364661.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>皕杰报表的斜U单元格设计http://www.aygfsteel.com/kxbin/articles/364612.htmlkxbinkxbinWed, 23 Nov 2011 01:23:00 GMThttp://www.aygfsteel.com/kxbin/articles/364612.htmlhttp://www.aygfsteel.com/kxbin/comments/364612.htmlhttp://www.aygfsteel.com/kxbin/articles/364612.html#Feedback0http://www.aygfsteel.com/kxbin/comments/commentRss/364612.htmlhttp://www.aygfsteel.com/kxbin/services/trackbacks/364612.html
在中国式报表的设计中Q经怼使用到斜U单元格Q如Q?/div>
                   
皕杰报表的斜U单元格有二分斜U和三分斜线Q分别将一个单元格分ؓ两部分和三部分,其中Q二分斜U单元格又分Z分正斜线和二分反斜线Q三分斜U单元格分ؓ左上三分U和右下三分Uѝ这里对皕杰报表的斜U单元格做个单介l?br style="clear: both; " />斜线单元D计的W一步,是要单元格的类型设|ؓ“斜线单元?#8221;。在单元g单击鼠标右键Q弹出右键菜单,选择【设|类型?#8212;>【斜U单元格】?br style="clear: both; " />                   
斜线单元D计的W二步,是选择斜线cd。用h据需要选择斜线cdQ四U斜U类型如下图Q?br style="clear: both; " />                            
斜线单元D计的W三步,在斜U单元格内添加文字。单元格中每个区域的文字?#8220;,”隔开Q需要注意的是,q里的逗号是英文标点的逗号。如Q?#8220;地区,销售额,旉”Q单元格效果如下Q?br style="clear: both; " />                    
q样Q斜U单元格p计好了?br style="clear: both; " />皕杰报表的斜U单元格有一个特点,是在导出EXCEL表格的时候,是以斜线和文本的形式昄Q这P在导出EXCEL表格之后Q无论横向或U向拉斜线单元|斜线和文字会Ҏ单元格的变化来调整长度和位置?/div>


kxbin 2011-11-23 09:23 发表评论
]]> վ֩ģ壺 | ˳| ɽ| | | ʮ| Դ| | | ׼| ں| | ɽʡ| | ȫ| ɽ| | | ȷ| Ͽ| ɽ| | | | | | Ž| ׶| | ƽ| | ׿| | կ| | | | ̫| | | |