Birt使用总结
把report放到其他服務(wù)器要重新建立Data Source ,這是配置,拷貝項(xiàng)目時(shí)不會(huì)同時(shí)拷貝
(1)在EXTJs中利用Report實(shí)現(xiàn)報(bào)表的刷新
Ext.getCmp("showview").body.update("<iframe id='showviewframe'? src='"+?????????? +"'>? </iframe>");
其中showview是要刷新的panel的id
(2)Birt報(bào)表漢化(實(shí)現(xiàn)標(biāo)題欄在Tomcat下以中文形式存在)z下載org.eclipse.birt.report.view.nl.jar放在WEB-INF/lib下
把zh-CN文件夾放在MyEclipse/dropins下
其中zh-CN包括features和plugins
(3)報(bào)表表格線問(wèn)題
先右鍵New style---->(Name:)TableStyle---->選Border---->
設(shè)置線,在列標(biāo)頭(每一列)和行標(biāo)頭上分別右鍵
AppleStyle選擇剛剛設(shè)置過(guò)的樣式即可
(4)報(bào)表選擇項(xiàng)-----屬性綁定SQL語(yǔ)句
var query="select student_name,student_id from student";
if(params["student_name"].value!="全部")
{
query+="where student_name='"+params['student_anme']+"' ";
}
this.query=query;
(5)從birt向Tomcat傳值亂碼問(wèn)題
將URIEncoding="UTF-8" useBodyEncodingForURI="true"放在apache-tomcat/conf/server.xml的
?<Connector port="8080" protocol="HTTP/1.1" 
?????????????? connectionTimeout="20000" 
?????????????? redirectPort="8443" />
里面即可。
(6)開(kāi)始日期小于等于結(jié)束日期
首先是強(qiáng)制類型轉(zhuǎn)化問(wèn)題,分別得到年月日,分別轉(zhuǎn)換成String再相加
var dayTime=new Date();
?????? Year=dayTime.getFullYear();//4位數(shù)2014
? Month=(dayTime.getMonth()+1)<10?"0"+Month:Month;
Day=(dayTime.getDate())<10?"0"+Day:Day;
Year.toString()+Month.toString()+Day.toString();
注意:2014年10月10日用dayTime.getMonth()得到的是9月,故要加1
var? st=Ext.getCmp('deal_date').getValue();
deal=(st.getFullYear.toString()
+((st.getMonth()+1)?<10:"0"+(st.getMonth()+1):(st.getMonth()+1)).toSting()
+((st.getDate()<10?"0"+st.getDate():st.getDate()).toString()
)
?
(7)SQL 語(yǔ)句日期? between ...and .....
? 金額數(shù)字 >=??? <=
(8)在EXT里判斷初始日期小于等于結(jié)束日期
?在EXTJs里面有自帶的函數(shù)
在開(kāi)始的items里面
? listeners:{
?'select':function(){
var start=Ext.getCmp('st').getValues();
Ext.getCmp('et').setMinValue(start);
???? var? et=Ext.getCmp('et').getValue();
if(start>et){
Ext.getCmp('st').setValue(start);
} ??
}
}
?
在結(jié)束的items里面:
listeners:{
?'select':function(){
var start=Ext.getCmp('st').getValues();
var? end=Ext.getCmp('et').getValue();
Ext.getCmp('et').setMinValue(start);
????
if(start>end){
Ext.getCmp('st').setValue(et);
} ??
}
}
?
(9)在金額里面開(kāi)始金額小于等于結(jié)束金額
在查詢處加上:
if(deal_feel>deal_feez){
Ext.MessageBox.alert('提示','開(kāi)始金額必須小于等于結(jié)束金額');
}else{
Ext.getCmp("showview").body.update("<ifame? id='showviewframe'? src='"+clientURL+"'? width=100%? height=100%></iframe>");
}
?
(10)去掉標(biāo)題欄的顯示/導(dǎo)出數(shù)據(jù)/打印等
在WebRoot/report-viewer/birt/pages/control/ToolbarFragment.jsp里面修改即可:
(11)模糊查詢
select name from student where name =' '%'+____+'%' ' ? ;
(12)sql語(yǔ)句中if之間要有空格,否則錯(cuò)誤在哪里,不好找
(13)不要把參數(shù)注釋,方便查錯(cuò)
(14)把Report項(xiàng)目合到Web Report里面
在MyEclipde里面--->Project Capabilities---->Add? Report Capabilities即可
(15)選擇合并,在編輯中對(duì)報(bào)表用if? else 語(yǔ)句
(16)String? 類型的交易金額時(shí),過(guò)濾條件中為String num
(17)給報(bào)表添加序號(hào)
<1>在空白處點(diǎn)擊一下,然后到Script頁(yè)面,選擇initialize,輸入 var? count=0;
<2>回到報(bào)表設(shè)計(jì)頁(yè)面,帶Data區(qū)域的expression 中輸入:
count++;
count
<3>保存
(18)去掉birt自動(dòng)生成的日期
點(diǎn)擊xml Source ,將<page-footer>....</page-footer>刪去即可
(19)使用超鏈接
<1>新建一列 查看 超鏈接 Script 里面var c='查看';
<2>
<3>選中Data的property Editor 的Hyperlink-->Edit
Select Hyperlink Type:選中 Drill-through
step1: Report Design:選擇要鏈接的報(bào)表
Report Parameters:Parameters
選擇where 語(yǔ)句的屬性
在空白處點(diǎn)擊一下
選擇values
?????? 點(diǎn)擊OK即可
在要選擇的報(bào)表中要有where語(yǔ)句,建Report Parameters屬性
?
(20)使用Data Clubes (多維數(shù)據(jù)集)做匯總表
1.new Data Source
2.new Data Sets
3.new Data Cubes
Dataset其中Primary? dataset中將2中的Dataset? Groups? and? Summaries 中將數(shù)據(jù)一次拖放到Groups中和Summary Fields中
點(diǎn)擊OK即可
4.將Data cube 拖放到面板
5.預(yù)覽即可
(21)交叉報(bào)表與(20)類似
在Groups中依次添加交叉項(xiàng)目
(22)使用圖表
給X軸設(shè)置名稱,不用改,會(huì)直接顯示
(23)運(yùn)行birt出現(xiàn)警告
在web.xml中將<param-name>BIRT_VIEWER_LOG_LEVE</param-name>中的waring改為SEVERE即可
?
轉(zhuǎn)載于:https://www.cnblogs.com/wangleBlogs/p/4989703.html
總結(jié)
 
                            
                        - 上一篇: 你更喜欢谁的颜值?
- 下一篇: 手机如何无线链接家用投影仪,没有hdmi
