2012-10-01 42 views
1

我創建每頁2列的報告與JasperReports的4.7.1包含多列的報表:如何重新打印每列中的組標題?

當屬於多個列一組跨度的記錄,我想不僅在組的開始,而且在每一列的開始到打印頭。

使用重印部首isReprintHeaderOnEachPage屬性)在組屬性,報頭可在每一頁的開始打印。但是,我仍然無法在新專欄的開頭找到同樣的方法。

我該如何做到這一點?

截圖當前報告頁面的...

enter image description here

我要實現的(注意在第2列頭)什麼...

enter image description here

+0

你想打破屬於單組數據,並在*詳細信息打印*樂隊與信息從*組頭*?你能不能發佈圖片(截圖)來說明你的當前和目標設計? –

+0

我無法發佈的任何屏幕截圖。如果我試圖解釋,該_Group Header_包含應打印標籤作爲顯示。當基團的變化,打印一個新的表。表中的記錄被顯示在_Detail_帶的表的標頭。該表可以跨越至2 _report列_,在第一報告列,標頭是因爲這是該組開始的地方。我想要做的是在第二欄開始時打印它們。謝謝 – drox

+0

@AlexK我附上了截圖。感謝您的幫助。 – drox

回答

1

我一個類似的問題,我設法解決它通過添加一個ColumnHeader樂隊,只顯示它爲我的2列報告的第二列。

將isReprintHeaderOnEachPage設置爲true並將groupHeader和columnHeader的高度設置爲與我的解決方案相同的高度很重要。

下面是相關的代碼(當然你與你相應的組表達式替換「telephoneNumber」:

<group name="telephoneNumberGroup" isStartNewPage="true" isReprintHeaderOnEachPage="true"> 
    <groupExpression><![CDATA[$F{telephoneNumber}]]></groupExpression> 
    <groupHeader> 
     <band height="17"> 
      <textField> 
       <reportElement positionType="Float" x="5" y="0" width="170" height="15" uuid="5e8b892b-f907-4907-9c6d-4419e57325e5"/> 
       <textElement verticalAlignment="Middle"> 
        <font fontName="Arial" size="6" isBold="true"/> 
       </textElement> 
       <textFieldExpression><![CDATA[$F{telephoneNumber}]]></textFieldExpression> 
      </textField> 
     </band> 
    </groupHeader> 
</group> 
<columnHeader> 
    <band height="17"> 
     <printWhenExpression><![CDATA[$V{COLUMN_NUMBER} == 2]]></printWhenExpression> 
     <textField> 
      <reportElement positionType="Float" x="5" y="0" width="170" height="15" uuid="5e8b892b-f907-4907-9c6d-4419e57325e5"/> 
      <textElement verticalAlignment="Middle"> 
       <font fontName="Arial" size="6" isBold="true"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$F{telephoneNumber}]]></textFieldExpression> 
     </textField> 
    </band> 
</columnHeader> 
相關問題