天天看點

iReport關于page header制作表單明細模闆,textfield與staticText不相容的問題解決

   這個星期上司給了我一個關于使用iReport制作車輛使用明細報表的任務。在毫無使用過這個元件的前提下,我憑着自己貧乏的知識與經驗,在網上相關解決方案資料嚴重缺失的情況下,通過艱苦卓絕的思考與锲而不舍的攻堅,花費3天時間,終于把這個問題解決了。

   在使用iReport制作表單模闆的時候,textfield之間的重疊與staticText标簽不适應導緻表單在生成的時候出現樣式淩亂。

問題1:textfield内容過長不自動換行并展示,如下圖:

iReport關于page header制作表單明細模闆,textfield與staticText不相容的問題解決

可以看到用車部門沒有顯示完全

解決:設計界面,點選相應的textField的屬性界面——》stretch With Overflow屬性,選中

iReport關于page header制作表單明細模闆,textfield與staticText不相容的問題解決

 問題2:textField重疊導緻樣式錯亂,如下圖:

iReport關于page header制作表單明細模闆,textfield與staticText不相容的問題解決

可以看到由于用車部門内容太長縱向擴充之後,把司機欄的内容遮擋了

解決:設計界面,點選相應的textField的屬性界面——》stretch With Overflow屬性,選中——》Position Type屬性選“Float”,Stretch Type屬性選“Relative to Tallest Object”,完成後的效果如下:

iReport關于page header制作表單明細模闆,textfield與staticText不相容的問題解決

 問題3:司機所屬的标簽沒有跟随textfield的位置改變而改變,出軌了,如上圖

解決:1.使用元件“Frame”,如圖:

iReport關于page header制作表單明細模闆,textfield與staticText不相容的問題解決

2.将相應的staticText 與textField放到Frame标簽上

3.frame屬性“Position Type”設定為“Float”

4.标簽屬性“Position Type”設定為“Float”——》“Stretch Type”設定為“Relative to Band Height”

5.textField屬性“Position Type”設定為“Float”——》“Stretch Type”設定為“Relative to Band Height”——》勾選“Stretch With Overflow”

效果圖如下:

iReport關于page header制作表單明細模闆,textfield與staticText不相容的問題解決

       這個問題困擾了我非常多的時間,由于網上講解的都是表格制作,很少專門涉獵表單的排版制作的内容,關于标簽的出軌問題的解決方案非常少。我在絕望的大海中艱難的尋覓中,終于讓我找到了一篇關于這個問題的文章(PS:不是CSDN的,具體哪個網站,我忘了),也讓我看到希望的綠洲。裡面就是講述了使用frame元件解決标簽出軌的問題,在我的深入了解後,現在由原來解決單個标簽與textfield的出軌問題到現在可以保證縱向與橫向的标簽與textfield的完全同步。textfield如何改變,如何顯示都不會影響到整個版面的美觀與清晰,真正的可以做到iReport的排版功能,也真正的讓我們使用iReport進行表單制作。

       這是這篇博文的重點,特發此文,為遇到同樣問題的艱辛的程式猿保護你們珍貴的腦細胞!!!