我的評論
re: JasperReport那些事兒(六)——制作分頁式報表[未登錄] heis 2012-06-02 21:57
@常興
可以嘗試一下把pagebreak放到主報表去,放在子報表之間。
可以嘗試一下把pagebreak放到主報表去,放在子報表之間。
re: JasperReport那些事兒(六)——制作分頁式報表 Heis 2010-03-29 22:17
@DDR
一般來說是子報表的高度超了而導致的問題,不過你描述的不是很清楚,要不你把截圖發我郵箱,讓我看看吧
一般來說是子報表的高度超了而導致的問題,不過你描述的不是很清楚,要不你把截圖發我郵箱,讓我看看吧
re: 今夜,我終于翻越了你,G-F-W Heis 2010-01-12 21:19
@會跑的蝸牛
今日還上youtube了:-)真不好意思。
今日還上youtube了:-)真不好意思。
re: 今夜,我終于翻越了你,G-F-W Heis 2010-01-12 21:18
@隔葉黃鶯
哈哈,是比不上你啦。我是比較晚,你比較早泄露了天機。
哈哈,是比不上你啦。我是比較晚,你比較早泄露了天機。
re: Jakarta Commons Cookbook讀書筆記--Commons BeanUtils Heis 2009-11-23 19:09
@大衛
雖然jdk5以后反射性能有了很大的提升,但是反射性能肯定會差一點。通常情況下,如果可以通過getter和setter訪問,盡量使用getter和setter,這樣重構起來也簡單。
雖然jdk5以后反射性能有了很大的提升,但是反射性能肯定會差一點。通常情況下,如果可以通過getter和setter訪問,盡量使用getter和setter,這樣重構起來也簡單。
re: JasperReport那些事兒(一)——iReport制作表格 Heis 2009-11-20 19:10
@liguangjun
邊框是自己設置的;
字段是靜態添加的,不是動態,所以要自己設計;
邊框是自己設置的;
字段是靜態添加的,不是動態,所以要自己設計;
re: Jakarta Commons Cookbook 讀書筆記--Commons Lang(2) Heis 2009-11-19 17:13
@梁章坪
不好意思,我借來的紙質書。不過你可以關注我的博客,我覺得直接看筆記會比看書有效率很多。
不好意思,我借來的紙質書。不過你可以關注我的博客,我覺得直接看筆記會比看書有效率很多。
re: JasperReport那些事兒(一)——iReport制作表格 Heis 2009-09-12 10:53
@cici
不用子報表是會有問題的,估計是你的數據源配置錯誤。
不用子報表是會有問題的,估計是你的數據源配置錯誤。
re: JasperReport那些事兒(六)——制作分頁式報表 Heis 2009-05-06 22:29
@zhenlu
這與博文的主題沒關,這可能要找一些支持RTF文件操作的代碼看看咯。
這與博文的主題沒關,這可能要找一些支持RTF文件操作的代碼看看咯。
re: Java方法中使用的是值傳遞(pass-by-value)! Heis 2009-04-24 22:00
@5452
在技術領域有統一的術語是非常重要的,當然術語背后的原理更為重要。
在技術領域有統一的術語是非常重要的,當然術語背后的原理更為重要。
re: JasperReport那些事兒(一)——iReport制作表格 Heis 2009-04-24 21:57
@zl
每一行對應一個按鈕來打單?這個我不是很明白,我們郵件聯系吧。畢竟評論不是留言版。我郵箱:heisun@yeah.net
每一行對應一個按鈕來打單?這個我不是很明白,我們郵件聯系吧。畢竟評論不是留言版。我郵箱:heisun@yeah.net
re: JasperReport那些事兒(一)——iReport制作表格 Heis 2009-04-24 14:29
@zl
1.檢查你的子報表,field是否放在detail區域內。
2.檢查父報表的subreport元素內的XPATH是否是/NameList/Person
3.你的XML數據源不會只有一條數據吧?
如果還發現錯誤,下載我的模板源代碼對比一下。
1.檢查你的子報表,field是否放在detail區域內。
2.檢查父報表的subreport元素內的XPATH是否是/NameList/Person
3.你的XML數據源不會只有一條數據吧?
如果還發現錯誤,下載我的模板源代碼對比一下。
re: Java方法中使用的是值傳遞(pass-by-value)! Heis 2009-04-24 14:22
@sky ao
精辟!
我個人認為很多技術問題不是只了解結論就行了。
精辟!
我個人認為很多技術問題不是只了解結論就行了。
re: JasperReport那些事兒(一)——iReport制作表格 Heis 2009-04-23 22:37
@zl
首先確認你的xml文件沒有錯,文件編碼注意要是UTF8;
如果沒錯,這可能是ireport的xml解析器bug,我也經常遇到這樣的問題。你可以試一下先把原來的ireport的xml數據源刪掉,然后重啟ireport,再試著新建一個xml數據源。這個bug也困擾我很久,有時候會莫名奇妙地不能解析。
首先確認你的xml文件沒有錯,文件編碼注意要是UTF8;
如果沒錯,這可能是ireport的xml解析器bug,我也經常遇到這樣的問題。你可以試一下先把原來的ireport的xml數據源刪掉,然后重啟ireport,再試著新建一個xml數據源。這個bug也困擾我很久,有時候會莫名奇妙地不能解析。
re: 一道Google2009夏季實習生招聘筆試程序設計題 Heis 2009-04-16 08:57
@銀河使者
1.這道題目沒有說字符就一定是ASCII字符;
2.用256的數組來保存次數難免會造成空間的浪費。
1.這道題目沒有說字符就一定是ASCII字符;
2.用256的數組來保存次數難免會造成空間的浪費。
re: JasperReport那些事兒(六)——制作分頁式報表 Heis 2009-04-10 13:21
@sun
打印之前肯定是可以修改的,我猜你的意思是打印預覽的階段對報表進行修改吧?
從Jasperreport的生成報表原理上來看,有這樣一個過程。
1.模板設計階段。這是一個XML文件,以jrxml后綴名結尾。
2.編譯階段。通過編譯jrxml文件得到一個jasper文件。
3.數據填充階段。通過將數據源填充到jasper文件上,然后生成一個jrprint文件。jrprint可以轉換為PDF,Excel等格式的報表。jrprint文件已經是填充了數據的報表,不能編輯內容了。
所以要做到修改,有兩個方法:
一是修改數據源,你需要將數據源轉為可編輯的形式,例如XML數據源,像javaBean或數據庫類型的數據源就無能為力了。
二是,打印預覽階段將導出可編輯的文件,例如像HTML,然后提供HTML的編輯器,修改后可以打印。
我個人推薦第一種方法。因為可以將報表導為各種形式的文件,雖然需要工作量比較多。第二種方法就只能綁定在一種報表格式上了。
打印之前肯定是可以修改的,我猜你的意思是打印預覽的階段對報表進行修改吧?
從Jasperreport的生成報表原理上來看,有這樣一個過程。
1.模板設計階段。這是一個XML文件,以jrxml后綴名結尾。
2.編譯階段。通過編譯jrxml文件得到一個jasper文件。
3.數據填充階段。通過將數據源填充到jasper文件上,然后生成一個jrprint文件。jrprint可以轉換為PDF,Excel等格式的報表。jrprint文件已經是填充了數據的報表,不能編輯內容了。
所以要做到修改,有兩個方法:
一是修改數據源,你需要將數據源轉為可編輯的形式,例如XML數據源,像javaBean或數據庫類型的數據源就無能為力了。
二是,打印預覽階段將導出可編輯的文件,例如像HTML,然后提供HTML的編輯器,修改后可以打印。
我個人推薦第一種方法。因為可以將報表導為各種形式的文件,雖然需要工作量比較多。第二種方法就只能綁定在一種報表格式上了。
re: JasperReport那些事兒(六)——制作分頁式報表 Heis 2009-03-29 22:02
@nesta
1.可以,在屬性-字體 里面有一個垂直居中的選項。
2.你可以嘗試在subreport屬性當中配置一個合適的數據源,像net.sf.jasperreports.engine.data.JRBeanArrayDataSource(Object[])或者net.sf.jasperreports.engine.data.JRBeanCollectionDataSource(Collection)。你可以去查一下API,但是這個解決方法的思路有問題,你為什么不統一數據源,這樣可以更好地處理問題。還有你的bean是通過參數傳入,還是設想在報表里構造?
3.Jasperreport的參數傳遞是通過在subreport里設置傳遞的參數名,例如為ParamA,然后你再在子模板里新建一個相同名稱的參數ParamA,就可以獲取到這個參數的值了。
1.可以,在屬性-字體 里面有一個垂直居中的選項。
2.你可以嘗試在subreport屬性當中配置一個合適的數據源,像net.sf.jasperreports.engine.data.JRBeanArrayDataSource(Object[])或者net.sf.jasperreports.engine.data.JRBeanCollectionDataSource(Collection)。你可以去查一下API,但是這個解決方法的思路有問題,你為什么不統一數據源,這樣可以更好地處理問題。還有你的bean是通過參數傳入,還是設想在報表里構造?
3.Jasperreport的參數傳遞是通過在subreport里設置傳遞的參數名,例如為ParamA,然后你再在子模板里新建一個相同名稱的參數ParamA,就可以獲取到這個參數的值了。
re: JasperReport那些事兒(六)——制作分頁式報表 Heis 2009-03-28 17:41
@sun
報表的數據是依賴數據源的,修改數據源自然能修改報表內容。
報表的數據是依賴數據源的,修改數據源自然能修改報表內容。
re: JasperReport那些事兒(四)——制作標簽式報表 Heis 2009-03-10 19:26
@凌晨風
“分成兩列橫著打印”是不是指像我現在的報表逆時針轉90度。如果是,那在Jasperreport里是做不到的。文章中也有提及,Jasperreport是只能一個區域(band)一個區域地去渲染,因為區域的排列是由上到下,所以渲染的順序也是從上到下的,沒辦法從左到右渲染。
“分成兩列橫著打印”是不是指像我現在的報表逆時針轉90度。如果是,那在Jasperreport里是做不到的。文章中也有提及,Jasperreport是只能一個區域(band)一個區域地去渲染,因為區域的排列是由上到下,所以渲染的順序也是從上到下的,沒辦法從左到右渲染。
re: JasperReport那些事兒(四)——制作標簽式報表 Heis 2009-03-10 19:18
@john
那你的意思是適合中國的報表才有意義?那什么是中國式的報表呢?
那你的意思是適合中國的報表才有意義?那什么是中國式的報表呢?
re: JasperReport那些事兒(四)——制作標簽式報表 Heis 2009-03-09 20:00
@凌晨風
首先,針對你說的“報表做起來很麻煩”。我前面的文章有說過,以XML作為數據源是針對不同的需求的,請考慮下面的幾種情況:如果你的報表數據要經過一系列的精確計算,然后在報表上展示計算結果;如果你的報表數據并不是全部都來自于數據庫,而是某些來自程序或其他配置文件;SQL能不能解決問題?
其次,我不能認同“多個子報表效率無疑會很底”這句話。標簽式報表主體報表的subreport元素都是指向相同的子報表模板。這相當于java中一個類調用同一個類的多個實例,這樣并不會有效率問題。使用“無疑”這個詞并不是程序員應有的素質,至少你應該先去運行一下這個報表。
我猜想你說的“多結果集”是指subdatasets,這個是只適用于連接(Connection)類型的數據集(像數據庫,Hibernate之類),并不適用于數據源(Data Source)類型的數據集(像XML,CSV之類)。
對于你的“分欄”操作,我并不是很理解,請賜教。
首先,針對你說的“報表做起來很麻煩”。我前面的文章有說過,以XML作為數據源是針對不同的需求的,請考慮下面的幾種情況:如果你的報表數據要經過一系列的精確計算,然后在報表上展示計算結果;如果你的報表數據并不是全部都來自于數據庫,而是某些來自程序或其他配置文件;SQL能不能解決問題?
其次,我不能認同“多個子報表效率無疑會很底”這句話。標簽式報表主體報表的subreport元素都是指向相同的子報表模板。這相當于java中一個類調用同一個類的多個實例,這樣并不會有效率問題。使用“無疑”這個詞并不是程序員應有的素質,至少你應該先去運行一下這個報表。
我猜想你說的“多結果集”是指subdatasets,這個是只適用于連接(Connection)類型的數據集(像數據庫,Hibernate之類),并不適用于數據源(Data Source)類型的數據集(像XML,CSV之類)。
對于你的“分欄”操作,我并不是很理解,請賜教。
re: JasperReport那些事兒(一)——iReport制作表格 Heis 2009-03-09 15:02
@tide
我理解你的意思是像下面這樣的表格嗎?
_______________
| |____|____|
| |____|____|
| |____|____|
| |____|____|
如果是,我會在下一篇文章中介紹。
我理解你的意思是像下面這樣的表格嗎?
_______________
| |____|____|
| |____|____|
| |____|____|
| |____|____|
如果是,我會在下一篇文章中介紹。
re: JasperReport那些事兒(四)——制作標簽式報表 Heis 2009-03-09 10:20
@游上岸的魚
使用XML作為數據源比直接讀取數據庫更有優勢的地方在于:
1.數據可以在程序里處理;
2.數據獨立性和可讀性好
但是劣勢也是很明顯的,因為要從數據庫讀取數據到對象,對象再轉換為XML,這個過程消耗的資源要更多,效率也會受到影響。具體的效率我也沒測試過,但是我在項目里生成的XML在一萬行左右時,效率是可以接受的。
但是對于效率要求比較高的報表,但是數據不需要做中間處理的報表,我并不推薦XML作為數據源這種方式。
使用XML作為數據源比直接讀取數據庫更有優勢的地方在于:
1.數據可以在程序里處理;
2.數據獨立性和可讀性好
但是劣勢也是很明顯的,因為要從數據庫讀取數據到對象,對象再轉換為XML,這個過程消耗的資源要更多,效率也會受到影響。具體的效率我也沒測試過,但是我在項目里生成的XML在一萬行左右時,效率是可以接受的。
但是對于效率要求比較高的報表,但是數據不需要做中間處理的報表,我并不推薦XML作為數據源這種方式。