2013-07-27 84 views
5

我已經創建了一個基本上是員工填寫的時間表的報表,所以它是一個表,其中一行設計爲預先填寫員工的數據(例如:姓名/ 姓…)。用靜態字段填充頁面的剩餘空間

我的SQL請求檢索16個員工記錄。一頁只包含13行,所以它會自動爲最後3行創建第二頁。我的問題(和要求)是創建包含13行的第二頁,其中3個將填充記錄,其中10個將留空。

下面是一個例子:

enter image description here

我怎樣才能做到這一點?

如果我想創建一個帶有13個空行的額外頁面,該怎麼辦?

有人可以幫我嗎?

+0

是否要添加固定數量的行或動態(取決於頁面上的「空閒」空間)? –

+0

事實上,如果一行的高度發生變化,它會動態地執行以避免花費太多時間。 –

回答

-2

我得到了我的JasperSoft這個communauty論壇回答:http://community.jaspersoft.com/questions/817708/resolved-how-fill-reports-blank-space-empty-row-table

的原理是自定義背景的樂隊,這裏是在模型的例子:

<background> 
<band height="555" splitType="Stretch"> 
<rectangle> 
<reportElement uuid="ee3fa6a5-eddb-4b38-b834-f2658bcf92d1" x="0" y="59" width="800" height="427"/> 
</rectangle> 
<line> 
<reportElement uuid="4494e946-4ff5-4d57-b3eb-9d64eda302c4" x="0" y="95" width="800" height="1"/> 
</line> 
<line> 
<reportElement uuid="4494e946-4ff5-4d57-b3eb-9d64eda302c4" x="0" y="125" width="800" height="1"/> 
</line> 
<line> 
<reportElement uuid="4494e946-4ff5-4d57-b3eb-9d64eda302c4" x="0" y="155" width="800" height="1"/> 
</line> 
<line> 
<reportElement uuid="4494e946-4ff5-4d57-b3eb-9d64eda302c4" x="0" y="185" width="800" height="1"/> 
</line> 
<line> 
<reportElement uuid="4494e946-4ff5-4d57-b3eb-9d64eda302c4" x="0" y="215" width="800" height="1"/> 
</line> 
<line> 
<reportElement uuid="4494e946-4ff5-4d57-b3eb-9d64eda302c4" x="0" y="245" width="800" height="1"/> 
</line> 
<line> 
<reportElement uuid="4494e946-4ff5-4d57-b3eb-9d64eda302c4" x="0" y="275" width="800" height="1"/> 
</line> 
<line> 
<reportElement uuid="4494e946-4ff5-4d57-b3eb-9d64eda302c4" x="0" y="305" width="800" height="1"/> 
</line> 
<line> 
<reportElement uuid="4494e946-4ff5-4d57-b3eb-9d64eda302c4" x="0" y="335" width="800" height="1"/> 
</line> 
<line> 
<reportElement uuid="4494e946-4ff5-4d57-b3eb-9d64eda302c4" x="0" y="365" width="800" height="1"/> 
</line> 
<line> 
<reportElement uuid="4494e946-4ff5-4d57-b3eb-9d64eda302c4" x="0" y="395" width="800" height="1"/> 
</line> 
<line> 
<reportElement uuid="4494e946-4ff5-4d57-b3eb-9d64eda302c4" x="0" y="425" width="800" height="1"/> 
</line> 
<line> 
<reportElement uuid="4494e946-4ff5-4d57-b3eb-9d64eda302c4" x="0" y="455" width="800" height="1"/> 
</line> 
<line> 
<reportElement uuid="01f3d5fc-9d23-4c7b-96cf-0ff7b3285400" x="160" y="59" width="1" height="427"/> 
</line> 
<line> 
<reportElement uuid="01f3d5fc-9d23-4c7b-96cf-0ff7b3285400" x="320" y="59" width="1" height="427"/> 
</line> 
<line> 
<reportElement uuid="01f3d5fc-9d23-4c7b-96cf-0ff7b3285400" x="480" y="59" width="1" height="427"/> 
</line> 
<line> 
<reportElement uuid="01f3d5fc-9d23-4c7b-96cf-0ff7b3285400" x="639" y="59" width="1" height="427"/> 
</line> 
</band> 
</background> 
0

這取決於什麼數據源你正在使用......如果您使用Javaabeans作爲數據源,那麼它可以輕鬆完成。只需添加10個bean(空值)和wholla ...你將在第二頁獲得3(前一頁記錄)+10(空白記錄)...... 此外,我堅持你完成13個記錄到單個頁面通過減少表格或列表中的單元格大小,無論您在報告中有什麼內容。

1

在背景帶上繪製網格,並在所有其他帶中將屬性不透明更改爲true。

0

我得到同樣的問題,這幫助了我。 單擊設計器選項卡上的jrxml文件中的表,轉到屬性並在表達式字段中輸入'$ V {REPORT_COUNT} == 1'時打印。 確保您選中了'刪除行時空白'。