Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » BIRT » Different headers for multipage report
Different headers for multipage report [message #373293] Wed, 29 July 2009 13:37 Go to next message
Eclipse UserFriend
Originally posted by: DEVILoper.gmx.de

I hope this is an issue dealt with quite quickly, but I just don't know
how to solve my problem. Yes, I am new to BIRT. ;)

I've got a report containing several pages. I want to display a different
header on the first page as on all the other pages.

1. I know that there is a possibility to create multiple MasterPages. But
this won't work for me, as the MasterPage must be bound to an element. As
I only display a large table which already starts on the first page, I
can't figure out how to bind the second MasterPage to an element without
creating a new page for the table.

2. I tried a second solution: As I only need a different header on the
first page, I tried to put that header in the layout and to hide the
header in the MasterPage options. That works fine, except that there is
white space where the header is hidden. As my header is quite big, this is
quite striking^^. Is there a possibility to avoid that?

Thanks in advance,

Vanne
Re: Different headers for multipage report [message #373382 is a reply to message #373293] Wed, 29 July 2009 14:20 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: jasonweathersby.windstream.net

Vanne,

Are you using BIRT 2.5? We now have page variables. Read about it at:
http://www.eclipse.org/birt/phoenix/project/notable2.5.php#j ump_4
Another option is to use a text element and put an onRender event method
in to change the text. See attached example.

Jason

<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.20"
id="1">
<property name="createdBy">Eclipse BIRT Designer Version
2.5.0.v20090603 Build &lt;2.5.0.v20090617-0630></property>
<property name="units">in</property>
<property name="comments">Copyright (c) 2007 &lt;&lt;Your Company
Name here>></property>
<html-property name="description">Creates a blank report with no
predefined content.</html-property>
<text-property name="displayName">Blank Report</text-property>
<property name="iconFile">/templates/blank_report.gif</property>
<property name="layoutPreference">auto layout</property>
<data-sources>
<oda-data-source
extensionID="org.eclipse.birt.report.data.oda.jdbc" name="Data Source"
id="6">
<property
name="odaDriverClass">org.eclipse.birt.report.data.oda.sampledb.Driver </property>
<property name="odaURL">jdbc:classicmodels:sampledb</property>
<property name="odaUser">ClassicModels</property>
</oda-data-source>
</data-sources>
<data-sets>
<oda-data-set
extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet "
name="Data Set" id="7">
<list-property name="columnHints">
<structure>
<property name="columnName">ORDERNUMBER</property>
<property name="displayName">ORDERNUMBER</property>
</structure>
<structure>
<property name="columnName">PRODUCTCODE</property>
<property name="displayName">PRODUCTCODE</property>
</structure>
<structure>
<property name="columnName">QUANTITYORDERED</property>
<property name="displayName">QUANTITYORDERED</property>
</structure>
<structure>
<property name="columnName">PRICEEACH</property>
<property name="displayName">PRICEEACH</property>
</structure>
<structure>
<property name="columnName">ORDERLINENUMBER</property>
<property name="displayName">ORDERLINENUMBER</property>
</structure>
</list-property>
<structure name="cachedMetaData">
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">ORDERNUMBER</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">PRODUCTCODE</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">3</property>
<property name="name">QUANTITYORDERED</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">4</property>
<property name="name">PRICEEACH</property>
<property name="dataType">float</property>
</structure>
<structure>
<property name="position">5</property>
<property name="name">ORDERLINENUMBER</property>
<property name="dataType">integer</property>
</structure>
</list-property>
</structure>
<property name="dataSource">Data Source</property>
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">ORDERNUMBER</property>
<property name="nativeName">ORDERNUMBER</property>
<property name="dataType">integer</property>
<property name="nativeDataType">4</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">PRODUCTCODE</property>
<property name="nativeName">PRODUCTCODE</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
<property name="position">3</property>
<property name="name">QUANTITYORDERED</property>
<property name="nativeName">QUANTITYORDERED</property>
<property name="dataType">integer</property>
<property name="nativeDataType">4</property>
</structure>
<structure>
<property name="position">4</property>
<property name="name">PRICEEACH</property>
<property name="nativeName">PRICEEACH</property>
<property name="dataType">float</property>
<property name="nativeDataType">8</property>
</structure>
<structure>
<property name="position">5</property>
<property name="name">ORDERLINENUMBER</property>
<property name="nativeName">ORDERLINENUMBER</property>
<property name="dataType">integer</property>
<property name="nativeDataType">5</property>
</structure>
</list-property>
<xml-property name="queryText"><![CDATA[select *
from orderdetails]]></xml-property>
<xml-property name="designerValues"><![CDATA[<?xml
version="1.0" encoding="UTF-8"?>
<model:DesignValues
xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design"
xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
<Version>1.0</Version>
<design:ResultSets derivedMetaData="true">
<design:resultSetDefinitions>
<design:resultSetColumns>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>ORDERNUMBER</design:name>
<design:position>1</design:position>
<design:nativeDataTypeCode>4</design:nativeDataTypeCode>
<design:precision>10</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>ORDERNUMBER</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>ORDERNUMBER</design:label>
<design:formattingHints>
<design:displaySize>11</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>PRODUCTCODE</design:name>
<design:position>2</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>15</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>PRODUCTCODE</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>PRODUCTCODE</design:label>
<design:formattingHints>
<design:displaySize>15</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>QUANTITYORDERED</design:name>
<design:position>3</design:position>
<design:nativeDataTypeCode>4</design:nativeDataTypeCode>
<design:precision>10</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>QUANTITYORDERED</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>QUANTITYORDERED</design:label>
<design:formattingHints>
<design:displaySize>11</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>PRICEEACH</design:name>
<design:position>4</design:position>
<design:nativeDataTypeCode>8</design:nativeDataTypeCode>
<design:precision>15</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>PRICEEACH</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>PRICEEACH</design:label>
<design:formattingHints>
<design:displaySize>22</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>ORDERLINENUMBER</design:name>
<design:position>5</design:position>
<design:nativeDataTypeCode>5</design:nativeDataTypeCode>
<design:precision>5</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>ORDERLINENUMBER</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>ORDERLINENUMBER</design:label>
<design:formattingHints>
<design:displaySize>6</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
</design:resultSetColumns>
</design:resultSetDefinitions>
</design:ResultSets>
</model:DesignValues>]]></xml-property>
</oda-data-set>
</data-sets>
<styles>
<style name="crosstab" id="4">
<property name="borderBottomColor">#CCCCCC</property>
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1pt</property>
<property name="borderLeftColor">#CCCCCC</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1pt</property>
<property name="borderRightColor">#CCCCCC</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1pt</property>
<property name="borderTopColor">#CCCCCC</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">1pt</property>
</style>
<style name="crosstab-cell" id="5">
<property name="borderBottomColor">#CCCCCC</property>
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1pt</property>
<property name="borderLeftColor">#CCCCCC</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1pt</property>
<property name="borderRightColor">#CCCCCC</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1pt</property>
<property name="borderTopColor">#CCCCCC</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">1pt</property>
</style>
</styles>
<page-setup>
<simple-master-page name="Simple MasterPage" id="2">
<property name="topMargin">1in</property>
<property name="leftMargin">1.25in</property>
<property name="bottomMargin">1in</property>
<property name="rightMargin">1.25in</property>
<page-header>
<text id="10">
<method name="onRender"><![CDATA[if( pageNumber > 1 ){
this.text = "<H1>what</H1>";
}]]></method>
<property name="contentType">html</property>
<text-property name="content"><![CDATA[<H2>
Page Header
</H2>]]></text-property>
</text>
</page-header>
<page-footer>
<text id="3">
<property name="contentType">html</property>
<text-property
name="content"><![CDATA[<value-of>new Date()</value-of>]]></text-property>
</text>
</page-footer>
</simple-master-page>
</page-setup>
<body>
<list id="8">
<property name="dataSet">Data Set</property>
<list-property name="boundDataColumns">
<structure>
<property name="name">ORDERNUMBER</property>
<expression
name="expression">dataSetRow["ORDERNUMBER"]</expression >
<property name="dataType">integer</property>
</structure>
</list-property>
<property name="pageBreakInterval">50</property>
<detail>
<data id="9">
<property name="resultSetColumn">ORDERNUMBER</property>
</data>
</detail>
</list>
</body>
</report>



Vanne wrote:
> I hope this is an issue dealt with quite quickly, but I just don't know
> how to solve my problem. Yes, I am new to BIRT. ;)
>
> I've got a report containing several pages. I want to display a
> different header on the first page as on all the other pages.
>
> 1. I know that there is a possibility to create multiple MasterPages.
> But this won't work for me, as the MasterPage must be bound to an
> element. As I only display a large table which already starts on the
> first page, I can't figure out how to bind the second MasterPage to an
> element without creating a new page for the table.
>
> 2. I tried a second solution: As I only need a different header on the
> first page, I tried to put that header in the layout and to hide the
> header in the MasterPage options. That works fine, except that there is
> white space where the header is hidden. As my header is quite big, this
> is quite striking^^. Is there a possibility to avoid that?
>
> Thanks in advance,
>
> Vanne
>
Re: Different headers for multipage report [message #440522 is a reply to message #373382] Fri, 31 July 2009 08:06 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: DEVILoper.gmx.de

Hello Jason,

first I'd like to thank you for your quick reply. I tried to solve the
problems using your suggestions, but I seem to be doing something wrong.

1. I am using BIRT 2.5 and tried the following concerning page variables.
I started with just trying to display the page number in order to be able
to control if I did it right.

onPageStart script:

var page=reportContext.getGlobalVariable("page_number");
page = 1;
this.text = page;
reportContext.setGlobalVariable("page_number", page);

onPageBreak script (of an element in my table):

var page= reportContext.getGlobalVariable("page_number");
page= parseInt(parseInt(page)+1);
reportContext.setGlobalVariable("page_number", page);

onRender script (of an element in my table to display):

var page = reportContext.getGlobalVariable("page_number");
this.text = page;

But if I display the variable it displays weird numbers:

page => page_number
1-7 => 1
8 => 9
9 => 9,10
10 => 10, 12
11 => 12
12 => 12, 21
13 => 21
14 => 21, 28

I guess the onPageBreak event occurs more frequently than it should?

2. Then I thought of setting the master page property of an element in my
table depending on the pageNumber:

<property name="masterPage">if (pageNumber==1){firstMasterPage}else{Simple
MasterPage}</property>

But this is not going to work. It is just showing the "firstMasterPage"
which i bound to the first item in my report.

Additionally, if i insert the following code:

<text id="869">
<method name="onRender"><![CDATA[if( pageNumber > 1 ){
this.text = "what"+ pageNumber;}]]></method>
<property name="contentType">plain</property>
<text-property name="content"><![CDATA[Page Header]]></text-property>
</text>

...I get similarily weird results for the pageNumber.

page => pageNumber
1-3 => 1
4-5 => 2
6-7 => 3
8-9 => 4
10-12 => 5
13-15 => 6
15 => 7

Sorry, but I am stuck with this. Is it possible that the pageBreak event
is influenced somehow by the 4 groupings I inserted? When exactly does
this event occur?

Thanks for your help,

Vanne



Jason Weathersby wrote:

> Vanne,

> Are you using BIRT 2.5? We now have page variables. Read about it at:
> http://www.eclipse.org/birt/phoenix/project/notable2.5.php#j ump_4
> Another option is to use a text element and put an onRender event method
> in to change the text. See attached example.

> Jason

> <?xml version="1.0" encoding="UTF-8"?>
> <report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.20"
> id="1">
> <property name="createdBy">Eclipse BIRT Designer Version
> 2.5.0.v20090603 Build &lt;2.5.0.v20090617-0630></property>
> <property name="units">in</property>
> <property name="comments">Copyright (c) 2007 &lt;&lt;Your Company
> Name here>></property>
> <html-property name="description">Creates a blank report with no
> predefined content.</html-property>
> <text-property name="displayName">Blank Report</text-property>
> <property name="iconFile">/templates/blank_report.gif</property>
> <property name="layoutPreference">auto layout</property>
> <data-sources>
> <oda-data-source
> extensionID="org.eclipse.birt.report.data.oda.jdbc" name="Data Source"
> id="6">
> <property
>
name="odaDriverClass">org.eclipse.birt.report.data.oda.sampledb.Driver </property>
> <property name="odaURL">jdbc:classicmodels:sampledb</property>
> <property name="odaUser">ClassicModels</property>
> </oda-data-source>
> </data-sources>
> <data-sets>
> <oda-data-set
> extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet "
> name="Data Set" id="7">
> <list-property name="columnHints">
> <structure>
> <property name="columnName">ORDERNUMBER</property>
> <property name="displayName">ORDERNUMBER</property>
> </structure>
> <structure>
> <property name="columnName">PRODUCTCODE</property>
> <property name="displayName">PRODUCTCODE</property>
> </structure>
> <structure>
> <property name="columnName">QUANTITYORDERED</property>
> <property name="displayName">QUANTITYORDERED</property>
> </structure>
> <structure>
> <property name="columnName">PRICEEACH</property>
> <property name="displayName">PRICEEACH</property>
> </structure>
> <structure>
> <property name="columnName">ORDERLINENUMBER</property>
> <property name="displayName">ORDERLINENUMBER</property>
> </structure>
> </list-property>
> <structure name="cachedMetaData">
> <list-property name="resultSet">
> <structure>
> <property name="position">1</property>
> <property name="name">ORDERNUMBER</property>
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="position">2</property>
> <property name="name">PRODUCTCODE</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">3</property>
> <property name="name">QUANTITYORDERED</property>
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="position">4</property>
> <property name="name">PRICEEACH</property>
> <property name="dataType">float</property>
> </structure>
> <structure>
> <property name="position">5</property>
> <property name="name">ORDERLINENUMBER</property>
> <property name="dataType">integer</property>
> </structure>
> </list-property>
> </structure>
> <property name="dataSource">Data Source</property>
> <list-property name="resultSet">
> <structure>
> <property name="position">1</property>
> <property name="name">ORDERNUMBER</property>
> <property name="nativeName">ORDERNUMBER</property>
> <property name="dataType">integer</property>
> <property name="nativeDataType">4</property>
> </structure>
> <structure>
> <property name="position">2</property>
> <property name="name">PRODUCTCODE</property>
> <property name="nativeName">PRODUCTCODE</property>
> <property name="dataType">string</property>
> <property name="nativeDataType">12</property>
> </structure>
> <structure>
> <property name="position">3</property>
> <property name="name">QUANTITYORDERED</property>
> <property name="nativeName">QUANTITYORDERED</property>
> <property name="dataType">integer</property>
> <property name="nativeDataType">4</property>
> </structure>
> <structure>
> <property name="position">4</property>
> <property name="name">PRICEEACH</property>
> <property name="nativeName">PRICEEACH</property>
> <property name="dataType">float</property>
> <property name="nativeDataType">8</property>
> </structure>
> <structure>
> <property name="position">5</property>
> <property name="name">ORDERLINENUMBER</property>
> <property name="nativeName">ORDERLINENUMBER</property>
> <property name="dataType">integer</property>
> <property name="nativeDataType">5</property>
> </structure>
> </list-property>
> <xml-property name="queryText"><![CDATA[select *
> from orderdetails]]></xml-property>
> <xml-property name="designerValues"><![CDATA[<?xml
> version="1.0" encoding="UTF-8"?>
> <model:DesignValues
> xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design"
> xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
> <Version>1.0</Version>
> <design:ResultSets derivedMetaData="true">
> <design:resultSetDefinitions>
> <design:resultSetColumns>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>ORDERNUMBER</design:name>
> <design:position>1</design:position>
> <design:nativeDataTypeCode>4</design:nativeDataTypeCode>
> <design:precision>10</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>ORDERNUMBER</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>ORDERNUMBER</design:label>
> <design:formattingHints>
> <design:displaySize>11</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>PRODUCTCODE</design:name>
> <design:position>2</design:position>
> <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
> <design:precision>15</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>PRODUCTCODE</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>PRODUCTCODE</design:label>
> <design:formattingHints>
> <design:displaySize>15</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>QUANTITYORDERED</design:name>
> <design:position>3</design:position>
> <design:nativeDataTypeCode>4</design:nativeDataTypeCode>
> <design:precision>10</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>QUANTITYORDERED</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>QUANTITYORDERED</design:label>
> <design:formattingHints>
> <design:displaySize>11</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>PRICEEACH</design:name>
> <design:position>4</design:position>
> <design:nativeDataTypeCode>8</design:nativeDataTypeCode>
> <design:precision>15</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>PRICEEACH</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>PRICEEACH</design:label>
> <design:formattingHints>
> <design:displaySize>22</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>ORDERLINENUMBER</design:name>
> <design:position>5</design:position>
> <design:nativeDataTypeCode>5</design:nativeDataTypeCode>
> <design:precision>5</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>ORDERLINENUMBER</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>ORDERLINENUMBER</design:label>
> <design:formattingHints>
> <design:displaySize>6</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> </design:resultSetColumns>
> </design:resultSetDefinitions>
> </design:ResultSets>
> </model:DesignValues>]]></xml-property>
> </oda-data-set>
> </data-sets>
> <styles>
> <style name="crosstab" id="4">
> <property name="borderBottomColor">#CCCCCC</property>
> <property name="borderBottomStyle">solid</property>
> <property name="borderBottomWidth">1pt</property>
> <property name="borderLeftColor">#CCCCCC</property>
> <property name="borderLeftStyle">solid</property>
> <property name="borderLeftWidth">1pt</property>
> <property name="borderRightColor">#CCCCCC</property>
> <property name="borderRightStyle">solid</property>
> <property name="borderRightWidth">1pt</property>
> <property name="borderTopColor">#CCCCCC</property>
> <property name="borderTopStyle">solid</property>
> <property name="borderTopWidth">1pt</property>
> </style>
> <style name="crosstab-cell" id="5">
> <property name="borderBottomColor">#CCCCCC</property>
> <property name="borderBottomStyle">solid</property>
> <property name="borderBottomWidth">1pt</property>
> <property name="borderLeftColor">#CCCCCC</property>
> <property name="borderLeftStyle">solid</property>
> <property name="borderLeftWidth">1pt</property>
> <property name="borderRightColor">#CCCCCC</property>
> <property name="borderRightStyle">solid</property>
> <property name="borderRightWidth">1pt</property>
> <property name="borderTopColor">#CCCCCC</property>
> <property name="borderTopStyle">solid</property>
> <property name="borderTopWidth">1pt</property>
> </style>
> </styles>
> <page-setup>
> <simple-master-page name="Simple MasterPage" id="2">
> <property name="topMargin">1in</property>
> <property name="leftMargin">1.25in</property>
> <property name="bottomMargin">1in</property>
> <property name="rightMargin">1.25in</property>
> <page-header>
> <text id="10">
> <method name="onRender"><![CDATA[if( pageNumber > 1 ){
> this.text = "<H1>what</H1>";
> }]]></method>
> <property name="contentType">html</property>
> <text-property name="content"><![CDATA[<H2>
> Page Header
> </H2>]]></text-property>
> </text>
> </page-header>
> <page-footer>
> <text id="3">
> <property name="contentType">html</property>
> <text-property
> name="content"><![CDATA[<value-of>new Date()</value-of>]]></text-property>
> </text>
> </page-footer>
> </simple-master-page>
> </page-setup>
> <body>
> <list id="8">
> <property name="dataSet">Data Set</property>
> <list-property name="boundDataColumns">
> <structure>
> <property name="name">ORDERNUMBER</property>
> <expression
> name="expression">dataSetRow["ORDERNUMBER"]</expression >
> <property name="dataType">integer</property>
> </structure>
> </list-property>
> <property name="pageBreakInterval">50</property>
> <detail>
> <data id="9">
> <property name="resultSetColumn">ORDERNUMBER</property>
> </data>
> </detail>
> </list>
> </body>
> </report>



> Vanne wrote:
>> I hope this is an issue dealt with quite quickly, but I just don't know
>> how to solve my problem. Yes, I am new to BIRT. ;)
>>
>> I've got a report containing several pages. I want to display a
>> different header on the first page as on all the other pages.
>>
>> 1. I know that there is a possibility to create multiple MasterPages.
>> But this won't work for me, as the MasterPage must be bound to an
>> element. As I only display a large table which already starts on the
>> first page, I can't figure out how to bind the second MasterPage to an
>> element without creating a new page for the table.
>>
>> 2. I tried a second solution: As I only need a different header on the
>> first page, I tried to put that header in the layout and to hide the
>> header in the MasterPage options. That works fine, except that there is
>> white space where the header is hidden. As my header is quite big, this
>> is quite striking^^. Is there a possibility to avoid that?
>>
>> Thanks in advance,
>>
>> Vanne
>>
Re: Different headers for multipage report [message #444080 is a reply to message #440522] Fri, 31 July 2009 16:21 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason WeathersbyFriend
Messages: 9167
Registered: July 2009
Senior Member

Vanne,

A couple of things.

If you put a onPageBreak event on a data item, it will be called for
every instance of the data item that is to appear on a page. General
order is

onPageStart
Master page onPageStart
onPageBreak for all items to appear on a page (Use table onPageBreak if
you only want one instace)
Master page onPageEnd
onPageEnd
evaluate AutoText fields

Also remember the page breaks are HTML page breaks not pdf.

Take a look at this example that changes the header to display first and
last customers on a page.

Jason

<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.20"
id="1">
<property name="createdBy">Eclipse BIRT Designer Version
2.5.0.v20090603 Build &lt;2.5.0.v20090610-0630></property>
<property name="units">in</property>
<method
name="onPageStart"><![CDATA[reportContext.setPageVariable( "FIRST_CUSTOMER",
null);
reportContext.setPageVariable("LAST_CUSTOMER", null);
]]></method>
<property name="iconFile">/templates/blank_report.gif</property>
<property name="layoutPreference">auto layout</property>
<property name="bidiLayoutOrientation">ltr</property>
<data-sources>
<oda-data-source
extensionID="org.eclipse.birt.report.data.oda.jdbc" name="Data Source"
id="7">
<property
name="odaDriverClass">org.eclipse.birt.report.data.oda.sampledb.Driver </property>
<property name="odaURL">jdbc:classicmodels:sampledb</property>
<property name="odaUser">ClassicModels</property>
</oda-data-source>
</data-sources>
<data-sets>
<oda-data-set
extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet "
name="Data Set" id="8">
<list-property name="columnHints">
<structure>
<property name="columnName">CUSTOMERNUMBER</property>
<property name="displayName">CUSTOMERNUMBER</property>
</structure>
<structure>
<property name="columnName">CUSTOMERNAME</property>
<property name="displayName">CUSTOMERNAME</property>
</structure>
<structure>
<property name="columnName">CONTACTLASTNAME</property>
<property name="displayName">CONTACTLASTNAME</property>
</structure>
<structure>
<property name="columnName">CONTACTFIRSTNAME</property>
<property
name="displayName">CONTACTFIRSTNAME</property>
</structure>
<structure>
<property name="columnName">PHONE</property>
<property name="displayName">PHONE</property>
</structure>
<structure>
<property name="columnName">ADDRESSLINE1</property>
<property name="displayName">ADDRESSLINE1</property>
</structure>
<structure>
<property name="columnName">ADDRESSLINE2</property>
<property name="displayName">ADDRESSLINE2</property>
</structure>
<structure>
<property name="columnName">CITY</property>
<property name="displayName">CITY</property>
</structure>
<structure>
<property name="columnName">STATE</property>
<property name="displayName">STATE</property>
</structure>
<structure>
<property name="columnName">POSTALCODE</property>
<property name="displayName">POSTALCODE</property>
</structure>
<structure>
<property name="columnName">COUNTRY</property>
<property name="displayName">COUNTRY</property>
</structure>
<structure>
<property
name="columnName">SALESREPEMPLOYEENUMBER</property>
<property
name="displayName">SALESREPEMPLOYEENUMBER</property>
</structure>
<structure>
<property name="columnName">CREDITLIMIT</property>
<property name="displayName">CREDITLIMIT</property>
</structure>
</list-property>
<structure name="cachedMetaData">
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">CUSTOMERNUMBER</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">CUSTOMERNAME</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">3</property>
<property name="name">CONTACTLASTNAME</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">4</property>
<property name="name">CONTACTFIRSTNAME</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">5</property>
<property name="name">PHONE</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">6</property>
<property name="name">ADDRESSLINE1</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">7</property>
<property name="name">ADDRESSLINE2</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">8</property>
<property name="name">CITY</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">9</property>
<property name="name">STATE</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">10</property>
<property name="name">POSTALCODE</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">11</property>
<property name="name">COUNTRY</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">12</property>
<property
name="name">SALESREPEMPLOYEENUMBER</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">13</property>
<property name="name">CREDITLIMIT</property>
<property name="dataType">float</property>
</structure>
</list-property>
</structure>
<property name="dataSource">Data Source</property>
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">CUSTOMERNUMBER</property>
<property name="nativeName">CUSTOMERNUMBER</property>
<property name="dataType">integer</property>
<property name="nativeDataType">4</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">CUSTOMERNAME</property>
<property name="nativeName">CUSTOMERNAME</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
<property name="position">3</property>
<property name="name">CONTACTLASTNAME</property>
<property name="nativeName">CONTACTLASTNAME</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
<property name="position">4</property>
<property name="name">CONTACTFIRSTNAME</property>
<property name="nativeName">CONTACTFIRSTNAME</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
<property name="position">5</property>
<property name="name">PHONE</property>
<property name="nativeName">PHONE</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
<property name="position">6</property>
<property name="name">ADDRESSLINE1</property>
<property name="nativeName">ADDRESSLINE1</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
<property name="position">7</property>
<property name="name">ADDRESSLINE2</property>
<property name="nativeName">ADDRESSLINE2</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
<property name="position">8</property>
<property name="name">CITY</property>
<property name="nativeName">CITY</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
<property name="position">9</property>
<property name="name">STATE</property>
<property name="nativeName">STATE</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
<property name="position">10</property>
<property name="name">POSTALCODE</property>
<property name="nativeName">POSTALCODE</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
<property name="position">11</property>
<property name="name">COUNTRY</property>
<property name="nativeName">COUNTRY</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
<property name="position">12</property>
<property name="name">SALESREPEMPLOYEENUMBER</property>
<property
name="nativeName">SALESREPEMPLOYEENUMBER</property>
<property name="dataType">integer</property>
<property name="nativeDataType">4</property>
</structure>
<structure>
<property name="position">13</property>
<property name="name">CREDITLIMIT</property>
<property name="nativeName">CREDITLIMIT</property>
<property name="dataType">float</property>
<property name="nativeDataType">8</property>
</structure>
</list-property>
<xml-property name="queryText"><![CDATA[select *
from CLASSICMODELS.CUSTOMERS]]></xml-property>
<xml-property name="designerValues"><![CDATA[<?xml
version="1.0" encoding="UTF-8"?>
<model:DesignValues
xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design"
xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
<Version>1.0</Version>
<design:ResultSets derivedMetaData="true">
<design:resultSetDefinitions>
<design:resultSetColumns>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>CUSTOMERNUMBER</design:name>
<design:position>1</design:position>
<design:nativeDataTypeCode>4</design:nativeDataTypeCode>
<design:precision>10</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>CUSTOMERNUMBER</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>CUSTOMERNUMBER</design:label>
<design:formattingHints>
<design:displaySize>11</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>CUSTOMERNAME</design:name>
<design:position>2</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>50</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>CUSTOMERNAME</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>CUSTOMERNAME</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>CONTACTLASTNAME</design:name>
<design:position>3</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>50</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>CONTACTLASTNAME</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>CONTACTLASTNAME</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>CONTACTFIRSTNAME</design:name>
<design:position>4</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>50</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>CONTACTFIRSTNAME</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>CONTACTFIRSTNAME</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>PHONE</design:name>
<design:position>5</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>50</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>PHONE</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>PHONE</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>ADDRESSLINE1</design:name>
<design:position>6</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>50</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>ADDRESSLINE1</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>ADDRESSLINE1</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>ADDRESSLINE2</design:name>
<design:position>7</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>50</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>ADDRESSLINE2</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>ADDRESSLINE2</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>CITY</design:name>
<design:position>8</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>50</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>CITY</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>CITY</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>STATE</design:name>
<design:position>9</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>50</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>STATE</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>STATE</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>POSTALCODE</design:name>
<design:position>10</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>15</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>POSTALCODE</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>POSTALCODE</design:label>
<design:formattingHints>
<design:displaySize>15</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>COUNTRY</design:name>
<design:position>11</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>50</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>COUNTRY</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>COUNTRY</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>SALESREPEMPLOYEENUMBER</design:name>
<design:position>12</design:position>
<design:nativeDataTypeCode>4</design:nativeDataTypeCode>
<design:precision>10</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>

<design:displayName>SALESREPEMPLOYEENUMBER</design:displayName >
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>SALESREPEMPLOYEENUMBER</design:label>
<design:formattingHints>
<design:displaySize>11</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>CREDITLIMIT</design:name>
<design:position>13</design:position>
<design:nativeDataTypeCode>8</design:nativeDataTypeCode>
<design:precision>15</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>CREDITLIMIT</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>CREDITLIMIT</design:label>
<design:formattingHints>
<design:displaySize>22</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
</design:resultSetColumns>
</design:resultSetDefinitions>
</design:ResultSets>
</model:DesignValues>]]></xml-property>
</oda-data-set>
</data-sets>
<styles>
<style name="report" id="4">
<property name="fontFamily">"Verdana"</property>
<property name="fontSize">10pt</property>
</style>
<style name="crosstab-cell" id="5">
<property name="borderBottomColor">#CCCCCC</property>
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1pt</property>
<property name="borderLeftColor">#CCCCCC</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1pt</property>
<property name="borderRightColor">#CCCCCC</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1pt</property>
<property name="borderTopColor">#CCCCCC</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">1pt</property>
</style>
<style name="crosstab" id="6">
<property name="borderBottomColor">#CCCCCC</property>
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1pt</property>
<property name="borderLeftColor">#CCCCCC</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1pt</property>
<property name="borderRightColor">#CCCCCC</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1pt</property>
<property name="borderTopColor">#CCCCCC</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">1pt</property>
</style>
<style name="table-header" id="123">
<property name="backgroundColor">#6078BF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="table-footer" id="124">
<property name="backgroundColor">#6078BF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="table-detail" id="125">
<property name="backgroundColor">#E6ECFF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">x-small</property>
<property name="fontWeight">bold</property>
<property name="color">#000080</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="table-group-header-1" id="126">
<property name="backgroundColor">#809FFF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="table-group-footer-1" id="127">
<property name="backgroundColor">#809FFF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="special-header" id="128">
<property name="backgroundColor">#6078BF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">medium</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="crosstab-detail" id="129">
<property name="backgroundColor">#E6ECFF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">x-small</property>
<property name="fontWeight">bold</property>
<property name="color">#000080</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="crosstab-header" id="130">
<property name="backgroundColor">#6078BF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="mydata" id="131">
<property name="color">orange</property>
</style>
</styles>
<page-setup>
<simple-master-page name="Simple MasterPage" id="2">
<page-header>
<grid id="107">
<column id="108"/>
<column id="137">
<property
name="width">0.20833333333333334in</property>
</column>
<column id="109"/>
<column id="134"/>
<column id="110"/>
<row id="111">
<property name="style">special-header</property>
<cell id="112">
<auto-text id="121">
<property
name="textAlign">center</property>
<property
name="type">page-variable</property>
<property
name="pageVariable">FIRST_CUSTOMER</property>
</auto-text>
</cell>
<cell id="136">
<label id="138">
<property
name="textAlign">center</property>
<text-property
name="text">---</text-property>
</label>
</cell>
<cell id="113">
<auto-text id="122">
<property
name="textAlign">center</property>
<property
name="type">page-variable</property>
<property
name="pageVariable">LAST_CUSTOMER</property>
</auto-text>
</cell>
<cell id="133">
<label id="135">
<property name="textAlign">right</property>
<text-property name="text">Number of
Customers:</text-property>
</label>
</cell>
<cell id="114">
<auto-text id="132">
<property
name="type">page-variable</property>
<property
name="pageVariable">TOTAL_CUSTOMERS</property>
</auto-text>
</cell>
</row>
</grid>
</page-header>
<page-footer>
<text id="3">
<property name="contentType">html</property>
<text-property
name="content"><![CDATA[<value-of>new Date()</value-of>]]></text-property>
</text>
</page-footer>
</simple-master-page>
</page-setup>
<body>
<table id="9">
<property name="dataSet">Data Set</property>
<list-property name="boundDataColumns">
<structure>
<property name="name">CUSTOMERNUMBER</property>
<property name="displayName">CUSTOMERNUMBER</property>
<expression
name="expression">dataSetRow["CUSTOMERNUMBER"]</expression >
<property name="dataType">integer</property>
</structure>
<structure>
<property name="name">CUSTOMERNAME</property>
<property name="displayName">CUSTOMERNAME</property>
<expression
name="expression">dataSetRow["CUSTOMERNAME"]</expression >
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">CONTACTLASTNAME</property>
<property name="displayName">CONTACTLASTNAME</property>
<expression
name="expression">dataSetRow["CONTACTLASTNAME"]</expression >
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">CONTACTFIRSTNAME</property>
<property
name="displayName">CONTACTFIRSTNAME</property>
<expression
name="expression">dataSetRow["CONTACTFIRSTNAME"]</expression >
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">PHONE</property>
<property name="displayName">PHONE</property>
<expression
name="expression">dataSetRow["PHONE"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">ADDRESSLINE1</property>
<property name="displayName">ADDRESSLINE1</property>
<expression
name="expression">dataSetRow["ADDRESSLINE1"]</expression >
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">ADDRESSLINE2</property>
<property name="displayName">ADDRESSLINE2</property>
<expression
name="expression">dataSetRow["ADDRESSLINE2"]</expression >
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">CITY</property>
<property name="displayName">CITY</property>
<expression
name="expression">dataSetRow["CITY"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">STATE</property>
<property name="displayName">STATE</property>
<expression
name="expression">dataSetRow["STATE"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">POSTALCODE</property>
<property name="displayName">POSTALCODE</property>
<expression
name="expression">dataSetRow["POSTALCODE"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">COUNTRY</property>
<property name="displayName">COUNTRY</property>
<expression
name="expression">dataSetRow["COUNTRY"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">SALESREPEMPLOYEENUMBER</property>
<property
name="displayName">SALESREPEMPLOYEENUMBER</property>
<expression
name="expression">dataSetRow["SALESREPEMPLOYEENUMBER"]</expression >
<property name="dataType">integer</property>
</structure>
<structure>
<property name="name">CREDITLIMIT</property>
<property name="displayName">CREDITLIMIT</property>
<expression
name="expression">dataSetRow["CREDITLIMIT"]</expression >
<property name="dataType">float</property>
</structure>
</list-property>
<column id="78">
<property name="width">1.6416666666666666in</property>
</column>
<column id="79">
<property name="width">1.4333333333333333in</property>
</column>
<column id="80">
<property name="width">1.675in</property>
</column>
<column id="81">
<property name="width">1.75in</property>
</column>
<column id="85"/>
<header>
<row id="10">
<cell id="11">
<label id="12">
<text-property
name="text">CUSTOMERNUMBER</text-property>
</label>
</cell>
<cell id="13">
<label id="14">
<text-property
name="text">CUSTOMERNAME</text-property>
</label>
</cell>
<cell id="15">
<label id="16">
<text-property
name="text">CONTACTLASTNAME</text-property>
</label>
</cell>
<cell id="17">
<label id="18">
<text-property
name="text">CONTACTFIRSTNAME</text-property>
</label>
</cell>
<cell id="25">
<label id="26">
<text-property name="text">CITY</text-property>
</label>
</cell>
</row>
</header>
<group id="91">
<property name="groupName">NewTableGroup1</property>
<property name="interval">none</property>
<property name="sortDirection">asc</property>
<expression name="keyExpr">row["COUNTRY"]</expression>
<structure name="toc">
<expression
name="expressionValue">row["COUNTRY"]</expression>
</structure>
<property name="repeatHeader">true</property>
<property name="hideDetail">false</property>
<property name="pageBreakAfter">auto</property>
<property
name="pageBreakBefore">always-excluding-first</property>
<property name="pageBreakInside">auto</property>
<header>
<row id="92">
<cell id="93">
<data id="106">
<property
name="resultSetColumn">COUNTRY</property>
</data>
</cell>
<cell id="94"/>
<cell id="95"/>
<cell id="96"/>
<cell id="97"/>
</row>
</header>
<footer>
<row id="99">
<cell id="100"/>
<cell id="101"/>
<cell id="102"/>
<cell id="103"/>
<cell id="104"/>
</row>
</footer>
</group>
<detail>
<row id="37">
<cell id="38">
<data id="39">
<method name="onPageBreak"><![CDATA[var
customer = this.getValue();
var first = reportContext.getPageVariable("FIRST_CUSTOMER");
var last = reportContext.getPageVariable("LAST_CUSTOMER");
var total_customers = reportContext.getPageVariable("TOTAL_CUSTOMERS");

if( customer != last){
reportContext.setPageVariable("TOTAL_CUSTOMERS",
parseInt(total_customers)+1);
}
if (first == null)
{
reportContext.setPageVariable("FIRST_CUSTOMER", value );
}
reportContext.setPageVariable("LAST_CUSTOMER", value);

]]></method>
<property
name="resultSetColumn">CUSTOMERNUMBER</property>
</data>
</cell>
<cell id="40">
<data id="41">
<property
name="resultSetColumn">CUSTOMERNAME</property>
</data>
</cell>
<cell id="42">
<data id="43">
<property
name="resultSetColumn">CONTACTLASTNAME</property>
</data>
</cell>
<cell id="44">
<data id="45">
<property
name="resultSetColumn">CONTACTFIRSTNAME</property>
</data>
</cell>
<cell id="52">
<data id="53">
<property
name="resultSetColumn">CITY</property>
</data>
</cell>
</row>
</detail>
<footer>
<row id="64">
<cell id="65"/>
<cell id="66"/>
<cell id="67"/>
<cell id="68"/>
<cell id="72"/>
</row>
</footer>
</table>
</body>
<property name="pageVariables">
<variable-element name="FIRST_CUSTOMER">
<property name="type">page</property>
</variable-element>
<variable-element name="LAST_CUSTOMER">
<property name="type">page</property>
</variable-element>
<variable-element name="TOTAL_CUSTOMERS">
<expression name="
Re: Different headers for multipage report [message #467911 is a reply to message #444080] Mon, 03 August 2009 11:27 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: DEVILoper.gmx.de

Hello again!

I'm sorry, but I keep getting new problems.

I tried following code

var variable =reportContext.getPageVariable("var_page");
this.text=variable;
reportContext.setPageVariable("var_page", parseInt(variable)+1);

in the onRender event of an auto-text element and of a regular
text-element.

But the value of the variable only changes every 2 or three pages. Every
time, when there is a seemingly random page break on the previous page,
the value changes. As you told me the pageBreak event is considered for
html output, it seems to me, that only after such a page break, the
onRender() function is called.
Could that be the case?
I get the same result if I change the value of the variable in the
onPageBreak event of the table I'm using. Probably because the page break
is not considered as a page break.

And that's the problem I am having:
I want to hide a part of the MasterPage header only on the first page
without leaving white space. So I use
var variable =reportContext.getPageVariable("var_page");
if (variable==1){
this.getStyle().display="none";
}else{
this.getStyle().display="true";
}

But the element is hidden on the first three pages because the page
variable doesn't change.

Thanks for your help,

Vanne


Jason Weathersby wrote:

> Vanne,

> A couple of things.

> If you put a onPageBreak event on a data item, it will be called for
> every instance of the data item that is to appear on a page. General
> order is

> onPageStart
> Master page onPageStart
> onPageBreak for all items to appear on a page (Use table onPageBreak if
> you only want one instace)
> Master page onPageEnd
> onPageEnd
> evaluate AutoText fields

> Also remember the page breaks are HTML page breaks not pdf.

> Take a look at this example that changes the header to display first and
> last customers on a page.

> Jason

> <?xml version="1.0" encoding="UTF-8"?>
> <report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.20"
> id="1">
> <property name="createdBy">Eclipse BIRT Designer Version
> 2.5.0.v20090603 Build &lt;2.5.0.v20090610-0630></property>
> <property name="units">in</property>
> <method
> name="onPageStart"><![CDATA[reportContext.setPageVariable( "FIRST_CUSTOMER",
> null);
> reportContext.setPageVariable("LAST_CUSTOMER", null);
> ]]></method>
> <property name="iconFile">/templates/blank_report.gif</property>
> <property name="layoutPreference">auto layout</property>
> <property name="bidiLayoutOrientation">ltr</property>
> <data-sources>
> <oda-data-source
> extensionID="org.eclipse.birt.report.data.oda.jdbc" name="Data Source"
> id="7">
> <property
>
name="odaDriverClass">org.eclipse.birt.report.data.oda.sampledb.Driver </property>
> <property name="odaURL">jdbc:classicmodels:sampledb</property>
> <property name="odaUser">ClassicModels</property>
> </oda-data-source>
> </data-sources>
> <data-sets>
> <oda-data-set
> extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet "
> name="Data Set" id="8">
> <list-property name="columnHints">
> <structure>
> <property name="columnName">CUSTOMERNUMBER</property>
> <property name="displayName">CUSTOMERNUMBER</property>
> </structure>
> <structure>
> <property name="columnName">CUSTOMERNAME</property>
> <property name="displayName">CUSTOMERNAME</property>
> </structure>
> <structure>
> <property name="columnName">CONTACTLASTNAME</property>
> <property name="displayName">CONTACTLASTNAME</property>
> </structure>
> <structure>
> <property name="columnName">CONTACTFIRSTNAME</property>
> <property
> name="displayName">CONTACTFIRSTNAME</property>
> </structure>
> <structure>
> <property name="columnName">PHONE</property>
> <property name="displayName">PHONE</property>
> </structure>
> <structure>
> <property name="columnName">ADDRESSLINE1</property>
> <property name="displayName">ADDRESSLINE1</property>
> </structure>
> <structure>
> <property name="columnName">ADDRESSLINE2</property>
> <property name="displayName">ADDRESSLINE2</property>
> </structure>
> <structure>
> <property name="columnName">CITY</property>
> <property name="displayName">CITY</property>
> </structure>
> <structure>
> <property name="columnName">STATE</property>
> <property name="displayName">STATE</property>
> </structure>
> <structure>
> <property name="columnName">POSTALCODE</property>
> <property name="displayName">POSTALCODE</property>
> </structure>
> <structure>
> <property name="columnName">COUNTRY</property>
> <property name="displayName">COUNTRY</property>
> </structure>
> <structure>
> <property
> name="columnName">SALESREPEMPLOYEENUMBER</property>
> <property
> name="displayName">SALESREPEMPLOYEENUMBER</property>
> </structure>
> <structure>
> <property name="columnName">CREDITLIMIT</property>
> <property name="displayName">CREDITLIMIT</property>
> </structure>
> </list-property>
> <structure name="cachedMetaData">
> <list-property name="resultSet">
> <structure>
> <property name="position">1</property>
> <property name="name">CUSTOMERNUMBER</property>
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="position">2</property>
> <property name="name">CUSTOMERNAME</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">3</property>
> <property name="name">CONTACTLASTNAME</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">4</property>
> <property name="name">CONTACTFIRSTNAME</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">5</property>
> <property name="name">PHONE</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">6</property>
> <property name="name">ADDRESSLINE1</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">7</property>
> <property name="name">ADDRESSLINE2</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">8</property>
> <property name="name">CITY</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">9</property>
> <property name="name">STATE</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">10</property>
> <property name="name">POSTALCODE</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">11</property>
> <property name="name">COUNTRY</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">12</property>
> <property
> name="name">SALESREPEMPLOYEENUMBER</property>
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="position">13</property>
> <property name="name">CREDITLIMIT</property>
> <property name="dataType">float</property>
> </structure>
> </list-property>
> </structure>
> <property name="dataSource">Data Source</property>
> <list-property name="resultSet">
> <structure>
> <property name="position">1</property>
> <property name="name">CUSTOMERNUMBER</property>
> <property name="nativeName">CUSTOMERNUMBER</property>
> <property name="dataType">integer</property>
> <property name="nativeDataType">4</property>
> </structure>
> <structure>
> <property name="position">2</property>
> <property name="name">CUSTOMERNAME</property>
> <property name="nativeName">CUSTOMERNAME</property>
> <property name="dataType">string</property>
> <property name="nativeDataType">12</property>
> </structure>
> <structure>
> <property name="position">3</property>
> <property name="name">CONTACTLASTNAME</property>
> <property name="nativeName">CONTACTLASTNAME</property>
> <property name="dataType">string</property>
> <property name="nativeDataType">12</property>
> </structure>
> <structure>
> <property name="position">4</property>
> <property name="name">CONTACTFIRSTNAME</property>
> <property name="nativeName">CONTACTFIRSTNAME</property>
> <property name="dataType">string</property>
> <property name="nativeDataType">12</property>
> </structure>
> <structure>
> <property name="position">5</property>
> <property name="name">PHONE</property>
> <property name="nativeName">PHONE</property>
> <property name="dataType">string</property>
> <property name="nativeDataType">12</property>
> </structure>
> <structure>
> <property name="position">6</property>
> <property name="name">ADDRESSLINE1</property>
> <property name="nativeName">ADDRESSLINE1</property>
> <property name="dataType">string</property>
> <property name="nativeDataType">12</property>
> </structure>
> <structure>
> <property name="position">7</property>
> <property name="name">ADDRESSLINE2</property>
> <property name="nativeName">ADDRESSLINE2</property>
> <property name="dataType">string</property>
> <property name="nativeDataType">12</property>
> </structure>
> <structure>
> <property name="position">8</property>
> <property name="name">CITY</property>
> <property name="nativeName">CITY</property>
> <property name="dataType">string</property>
> <property name="nativeDataType">12</property>
> </structure>
> <structure>
> <property name="position">9</property>
> <property name="name">STATE</property>
> <property name="nativeName">STATE</property>
> <property name="dataType">string</property>
> <property name="nativeDataType">12</property>
> </structure>
> <structure>
> <property name="position">10</property>
> <property name="name">POSTALCODE</property>
> <property name="nativeName">POSTALCODE</property>
> <property name="dataType">string</property>
> <property name="nativeDataType">12</property>
> </structure>
> <structure>
> <property name="position">11</property>
> <property name="name">COUNTRY</property>
> <property name="nativeName">COUNTRY</property>
> <property name="dataType">string</property>
> <property name="nativeDataType">12</property>
> </structure>
> <structure>
> <property name="position">12</property>
> <property name="name">SALESREPEMPLOYEENUMBER</property>
> <property
> name="nativeName">SALESREPEMPLOYEENUMBER</property>
> <property name="dataType">integer</property>
> <property name="nativeDataType">4</property>
> </structure>
> <structure>
> <property name="position">13</property>
> <property name="name">CREDITLIMIT</property>
> <property name="nativeName">CREDITLIMIT</property>
> <property name="dataType">float</property>
> <property name="nativeDataType">8</property>
> </structure>
> </list-property>
> <xml-property name="queryText"><![CDATA[select *
> from CLASSICMODELS.CUSTOMERS]]></xml-property>
> <xml-property name="designerValues"><![CDATA[<?xml
> version="1.0" encoding="UTF-8"?>
> <model:DesignValues
> xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design"
> xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
> <Version>1.0</Version>
> <design:ResultSets derivedMetaData="true">
> <design:resultSetDefinitions>
> <design:resultSetColumns>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>CUSTOMERNUMBER</design:name>
> <design:position>1</design:position>
> <design:nativeDataTypeCode>4</design:nativeDataTypeCode>
> <design:precision>10</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>CUSTOMERNUMBER</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>CUSTOMERNUMBER</design:label>
> <design:formattingHints>
> <design:displaySize>11</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>CUSTOMERNAME</design:name>
> <design:position>2</design:position>
> <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
> <design:precision>50</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>CUSTOMERNAME</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>CUSTOMERNAME</design:label>
> <design:formattingHints>
> <design:displaySize>50</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>CONTACTLASTNAME</design:name>
> <design:position>3</design:position>
> <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
> <design:precision>50</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>CONTACTLASTNAME</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>CONTACTLASTNAME</design:label>
> <design:formattingHints>
> <design:displaySize>50</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>CONTACTFIRSTNAME</design:name>
> <design:position>4</design:position>
> <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
> <design:precision>50</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>CONTACTFIRSTNAME</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>CONTACTFIRSTNAME</design:label>
> <design:formattingHints>
> <design:displaySize>50</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>PHONE</design:name>
> <design:position>5</design:position>
> <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
> <design:precision>50</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>PHONE</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>PHONE</design:label>
> <design:formattingHints>
> <design:displaySize>50</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>ADDRESSLINE1</design:name>
> <design:position>6</design:position>
> <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
> <design:precision>50</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>ADDRESSLINE1</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>ADDRESSLINE1</design:label>
> <design:formattingHints>
> <design:displaySize>50</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>ADDRESSLINE2</design:name>
> <design:position>7</design:position>
> <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
> <design:precision>50</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>ADDRESSLINE2</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>ADDRESSLINE2</design:label>
> <design:formattingHints>
> <design:displaySize>50</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>CITY</design:name>
> <design:position>8</design:position>
> <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
> <design:precision>50</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>CITY</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>CITY</design:label>
> <design:formattingHints>
> <design:displaySize>50</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>STATE</design:name>
> <design:position>9</design:position>
> <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
> <design:precision>50</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>STATE</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>STATE</design:label>
> <design:formattingHints>
> <design:displaySize>50</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>POSTALCODE</design:name>
> <design:position>10</design:position>
> <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
> <design:precision>15</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>POSTALCODE</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>POSTALCODE</design:label>
> <design:formattingHints>
> <design:displaySize>15</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>COUNTRY</design:name>
> <design:position>11</design:position>
> <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
> <design:precision>50</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>COUNTRY</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>COUNTRY</design:label>
> <design:formattingHints>
> <design:displaySize>50</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>SALESREPEMPLOYEENUMBER</design:name>
> <design:position>12</design:position>
> <design:nativeDataTypeCode>4</design:nativeDataTypeCode>
> <design:precision>10</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>

> <design:displayName>SALESREPEMPLOYEENUMBER</design:displayName >
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>SALESREPEMPLOYEENUMBER</design:label>
> <design:formattingHints>
> <design:displaySize>11</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>CREDITLIMIT</design:name>
> <design:position>13</design:position>
> <design:nativeDataTypeCode>8</design:nativeDataTypeCode>
> <design:precision>15</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>CREDITLIMIT</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>CREDITLIMIT</design:label>
> <design:formattingHints>
> <design:displaySize>22</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> </design:resultSetColumns>
> </design:resultSetDefinitions>
> </design:ResultSets>
> </model:DesignValues>]]></xml-property>
> </oda-data-set>
> </data-sets>
> <styles>
> <style name="report" id="4">
> <property name="fontFamily">"Verdana"</property>
> <property name="fontSize">10pt</property>
> </style>
> <style name="crosstab-cell" id="5">
> <property name="borderBottomColor">#CCCCCC</property>
> <property name="borderBottomStyle">solid</property>
> <property name="borderBottomWidth">1pt</property>
> <property name="borderLeftColor">#CCCCCC</property>
> <property name="borderLeftStyle">solid</property>
> <property name="borderLeftWidth">1pt</property>
> <property name="borderRightColor">#CCCCCC</property>
> <property name="borderRightStyle">solid</property>
> <property name="borderRightWidth">1pt</property>
> <property name="borderTopColor">#CCCCCC</property>
> <property name="borderTopStyle">solid</property>
> <property name="borderTopWidth">1pt</property>
> </style>
> <style name="crosstab" id="6">
> <property name="borderBottomColor">#CCCCCC</property>
> <property name="borderBottomStyle">solid</property>
> <property name="borderBottomWidth">1pt</property>
> <property name="borderLeftColor">#CCCCCC</property>
> <property name="borderLeftStyle">solid</property>
> <property name="borderLeftWidth">1pt</property>
> <property name="borderRightColor">#CCCCCC</property>
> <property name="borderRightStyle">solid</property>
> <property name="borderRightWidth">1pt</property>
> <property name="borderTopColor">#CCCCCC</property>
> <property name="borderTopStyle">solid</property>
> <property name="borderTopWidth">1pt</property>
> </style>
> <style name="table-header" id="123">
> <property name="backgroundColor">#6078BF</property>
> <property name="fontFamily">"Arial"</property>
> <property name="fontSize">small</property>
> <property name="fontWeight">bold</property>
> <property name="color">#FFFFFF</property>
> <property name="paddingTop">0px</property>
> <property name="paddingLeft">0px</property>
> <property name="paddingBottom">0px</property>
> <property name="paddingRight">0px</property>
> </style>
> <style name="table-footer" id="124">
> <property name="backgroundColor">#6078BF</property>
> <property name="fontFamily">"Arial"</property>
> <property name="fontSize">small</property>
> <property name="fontWeight">bold</property>
> <property name="color">#FFFFFF</property>
> <property name="paddingTop">0px</property>
> <property name="paddingLeft">0px</property>
> <property name="paddingBottom">0px</property>
> <property name="paddingRight">0px</property>
> </style>
> <style name="table-detail" id="125">
> <property name="backgroundColor">#E6ECFF</property>
> <property name="fontFamily">"Arial"</property>
> <property name="fontSize">x-small</property>
> <property name="fontWeight">bold</property>
> <property name="color">#000080</property>
> <property name="paddingTop">0px</property>
> <property name="paddingLeft">0px</property>
> <property name="paddingBottom">0px</property>
> <property name="paddingRight">0px</property>
> </style>
> <style name="table-group-header-1" id="126">
> <property name="backgroundColor">#809FFF</property>
> <property name="fontFamily">"Arial"</property>
> <property name="fontSize">small</property>
> <property name="fontWeight">bold</property>
> <property name="color">#FFFFFF</property>
> <property name="paddingTop">0px</property>
> <property name="paddingLeft">0px</property>
> <property name="paddingBottom">0px</property>
> <property name="paddingRight">0px</property>
> </style>
> <style name="table-group-footer-1" id="127">
> <property name="backgroundColor">#809FFF</property>
> <property name="fontFamily">"Arial"</property>
> <property name="fontSize">small</property>
> <property name="fontWeight">bold</property>
> <property name="color">#FFFFFF</property>
> <property name="paddingTop">0px</property>
> <property name="paddingLeft">0px</property>
> <property name="paddingBottom">0px</property>
> <property name="paddingRight">0px</property>
> </style>
> <style name="special-header" id="128">
> <property name="backgroundColor">#6078BF</property>
> <property name="fontFamily">"Arial"</property>
> <property name="fontSize">medium</property>
> <property name="fontWeight">bold</property>
> <property name="color">#FFFFFF</property>
> <property name="paddingTop">0px</property>
> <property name="paddingLeft">0px</property>
> <property name="paddingBottom">0px</property>
> <property name="paddingRight">0px</property>
> </style>
> <style name="crosstab-detail" id="129">
> <property name="backgroundColor">#E6ECFF</property>
> <property name="fontFamily">"Arial"</property>
> <property name="fontSize">x-small</property>
> <property name="fontWeight">bold</property>
> <property name="color">#000080</property>
> <property name="paddingTop">0px</property>
> <property name="paddingLeft">0px</property>
> <property name="paddingBottom">0px</property>
> <property name="paddingRight">0px</property>
> </style>
> <style name="crosstab-header" id="130">
> <property name="backgroundColor">#6078BF</property>
> <property name="fontFamily">"Arial"</property>
> <property name="fontSize">small</property>
> <property name="fontWeight">bold</property>
> <property name="color">#FFFFFF</property>
> <property name="paddingTop">0px</property>
> <property name="paddingLeft">0px</property>
> <property name="paddingBottom">0px</property>
> <property name="paddingRight">0px</property>
> </style>
> <style name="mydata" id="131">
> <property name="color">orange</property>
> </style>
> </styles>
> <page-setup>
> <simple-master-page name="Simple MasterPage" id="2">
> <page-header>
> <grid id="107">
> <column id="108"/>
> <column id="137">
> <property
> name="width">0.20833333333333334in</property>
> </column>
> <column id="109"/>
> <column id="134"/>
> <column id="110"/>
> <row id="111">
> <property name="style">special-header</property>
> <cell id="112">
> <auto-text id="121">
> <property
> name="textAlign">center</property>
> <property
> name="type">page-variable</property>
> <property
> name="pageVariable">FIRST_CUSTOMER</property>
> </auto-text>
> </cell>
> <cell id="136">
> <label id="138">
> <property
> name="textAlign">center</property>
> <text-property
> name="text">---</text-property>
> </label>
> </cell>
> <cell id="113">
> <auto-text id="122">
> <property
> name="textAlign">center</property>
> <property
> name="type">page-variable</property>
> <property
> name="pageVariable">LAST_CUSTOMER</property>
> </auto-text>
> </cell>
> <cell id="133">
> <label id="135">
> <property name="textAlign">right</property>
> <text-property name="text">Number of
> Customers:</text-property>
> </label>
> </cell>
> <cell id="114">
> <auto-text id="132">
> <property
> name="type">page-variable</property>
> <property
> name="pageVariable">TOTAL_CUSTOMERS</property>
> </auto-text>
> </cell>
> </row>
> </grid>
> </page-header>
> <page-footer>
> <text id="3">
> <property name="contentType">html</property>
> <text-property
> name="content"><![CDATA[<value-of>new Date()</value-of>]]></text-property>
> </text>
> </page-footer>
> </simple-master-page>
> </page-setup>
> <body>
> <table id="9">
> <property name="dataSet">Data Set</property>
> <list-property name="boundDataColumns">
> <structure>
> <property name="name">CUSTOMERNUMBER</property>
> <property name="displayName">CUSTOMERNUMBER</property>
> <expression
> name="expression">dataSetRow["CUSTOMERNUMBER"]</expression >
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="name">CUSTOMERNAME</property>
> <property name="displayName">CUSTOMERNAME</property>
> <expression
> name="expression">dataSetRow["CUSTOMERNAME"]</expression >
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="name">CONTACTLASTNAME</property>
> <property name="displayName">CONTACTLASTNAME</property>
> <expression
> name="expression">dataSetRow["CONTACTLASTNAME"]</expression >
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="name">CONTACTFIRSTNAME</property>
> <property
> name="displayName">CONTACTFIRSTNAME</property>
> <expression
> name="expression">dataSetRow["CONTACTFIRSTNAME"]</expression >
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="name">PHONE</property>
> <property name="displayName">PHONE</property>
> <expression
> name="expression">dataSetRow["PHONE"]</expression>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="name">ADDRESSLINE1</property>
> <property name="displayName">ADDRESSLINE1</property>
> <expression
> name="expression">dataSetRow["ADDRESSLINE1"]</expression >
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="name">ADDRESSLINE2</property>
> <property name="displayName">ADDRESSLINE2</property>
> <expression
> name="expression">dataSetRow["ADDRESSLINE2"]</expression >
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="name">CITY</property>
> <property name="displayName">CITY</property>
> <expression
> name="expression">dataSetRow["CITY"]</expression>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="name">STATE</property>
> <property name="displayName">STATE</property>
> <expression
> name="expression">dataSetRow["STATE"]</expression>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="name">POSTALCODE</property>
> <property name="displayName">POSTALCODE</property>
> <expression
> name="expression">dataSetRow["POSTALCODE"]</expression>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="name">COUNTRY</property>
> <property name="displayName">COUNTRY</property>
> <expression
> name="expression">dataSetRow["COUNTRY"]</expression>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="name">SALESREPEMPLOYEENUMBER</property>
> <property
> name="displayName">SALESREPEMPLOYEENUMBER</property>
> <expression
> name="expression">dataSetRow["SALESREPEMPLOYEENUMBER"]</expression >
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="name">CREDITLIMIT</property>
> <property name="displayName">CREDITLIMIT</property>
> <expression
> name="expression">dataSetRow["CREDITLIMIT"]</expression >
> <property name="dataType">float</property>
> </structure>
> </list-property>
> <column id="78">
> <property name="width">1.6416666666666666in</property>
> </column>
> <column id="79">
> <property name="width">1.4333333333333333in</property>
> </column>
> <column id="80">
> <property name="width">1.675in</property>
> </column>
> <column id="81">
> <property name="width">1.75in</property>
> </column>
> <column id="85"/>
> <header>
> <row id="10">
> <cell id="11">
> <label id="12">
> <text-property
> name="text">CUSTOMERNUMBER</text-property>
> </label>
> </cell>
> <cell id="13">
> <label id="14">
> <text-property
> name="text">CUSTOMERNAME</text-property>
> </label>
> </cell>
> <cell id="15">
> <label id="16">
> <text-property
> name="text">CONTACTLASTNAME</text-property>
> </label>
> </cell>
> <cell id="17">
> <label id="18">
> <text-property
> name="text">CONTACTFIRSTNAME</text-property>
> </label>
> </cell>
> <cell id="25">
> <label id="26">
> <text-property name="text">CITY</text-property>
> </label>
> </cell>
> </row>
> </header>
> <group id="91">
> <property name="groupName">NewT
Re: Different headers for multipage report [message #467940 is a reply to message #467911] Mon, 03 August 2009 12:33 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: DEVILoper.gmx.de

I think I'm encountering the same problem as described here:
http://dev.eclipse.org/newslists/news.eclipse.birt/msg28156. html
but I'm using BIRT 2.5!

BTW: is there a possibility to get the value of the auto-text element
pageNumber?
Re: Different headers for multipage report [message #468309 is a reply to message #467940] Wed, 05 August 2009 01:33 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason WeathersbyFriend
Messages: 9167
Registered: July 2009
Senior Member

Vanne,

Take a look at the attached example. You may have to play with the page
break interval to make the html page smaller than pdf and it should work
fine.

Jason

<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.20"
id="1">
<property name="createdBy">Eclipse BIRT Designer Version
2.5.0.v20090603 Build &lt;2.5.0.v20090617-0630></property>
<property name="units">in</property>
<method name="onPageStart"><![CDATA[var first =
reportContext.getPageVariable("FIRST");
if( first == 1 ){
reportContext.setPageVariable("FIRST",2);
}]]></method>
<method name="onPageEnd"><![CDATA[var first =
reportContext.getPageVariable("FIRST");
if( first == 0 ){
reportContext.setPageVariable("FIRST",1);
}]]></method>
<property name="iconFile">/templates/blank_report.gif</property>
<property name="bidiLayoutOrientation">ltr</property>
<data-sources>
<oda-data-source
extensionID="org.eclipse.birt.report.data.oda.jdbc" name="Data Source"
id="7">
<text-property name="displayName"></text-property>
<property
name="odaDriverClass">org.eclipse.birt.report.data.oda.sampledb.Driver </property>
<property name="odaURL">jdbc:classicmodels:sampledb</property>
<property name="odaUser">ClassicModels</property>
</oda-data-source>
</data-sources>
<data-sets>
<oda-data-set
extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet "
name="Data Set" id="8">
<list-property name="columnHints">
<structure>
<property name="columnName">ORDERNUMBER</property>
<property name="displayName">ORDERNUMBER</property>
</structure>
<structure>
<property name="columnName">ORDERDATE</property>
<property name="displayName">ORDERDATE</property>
</structure>
<structure>
<property name="columnName">REQUIREDDATE</property>
<property name="displayName">REQUIREDDATE</property>
</structure>
<structure>
<property name="columnName">SHIPPEDDATE</property>
<property name="displayName">SHIPPEDDATE</property>
</structure>
<structure>
<property name="columnName">STATUS</property>
<property name="displayName">STATUS</property>
</structure>
<structure>
<property name="columnName">COMMENTS</property>
<property name="displayName">COMMENTS</property>
</structure>
<structure>
<property name="columnName">CUSTOMERNUMBER</property>
<property name="displayName">CUSTOMERNUMBER</property>
</structure>
</list-property>
<structure name="cachedMetaData">
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">ORDERNUMBER</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">ORDERDATE</property>
<property name="dataType">date</property>
</structure>
<structure>
<property name="position">3</property>
<property name="name">REQUIREDDATE</property>
<property name="dataType">date</property>
</structure>
<structure>
<property name="position">4</property>
<property name="name">SHIPPEDDATE</property>
<property name="dataType">date</property>
</structure>
<structure>
<property name="position">5</property>
<property name="name">STATUS</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">6</property>
<property name="name">COMMENTS</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">7</property>
<property name="name">CUSTOMERNUMBER</property>
<property name="dataType">integer</property>
</structure>
</list-property>
</structure>
<property name="dataSource">Data Source</property>
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">ORDERNUMBER</property>
<property name="nativeName">ORDERNUMBER</property>
<property name="dataType">integer</property>
<property name="nativeDataType">4</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">ORDERDATE</property>
<property name="nativeName">ORDERDATE</property>
<property name="dataType">date</property>
<property name="nativeDataType">91</property>
</structure>
<structure>
<property name="position">3</property>
<property name="name">REQUIREDDATE</property>
<property name="nativeName">REQUIREDDATE</property>
<property name="dataType">date</property>
<property name="nativeDataType">91</property>
</structure>
<structure>
<property name="position">4</property>
<property name="name">SHIPPEDDATE</property>
<property name="nativeName">SHIPPEDDATE</property>
<property name="dataType">date</property>
<property name="nativeDataType">91</property>
</structure>
<structure>
<property name="position">5</property>
<property name="name">STATUS</property>
<property name="nativeName">STATUS</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
<property name="position">6</property>
<property name="name">COMMENTS</property>
<property name="nativeName">COMMENTS</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
<property name="position">7</property>
<property name="name">CUSTOMERNUMBER</property>
<property name="nativeName">CUSTOMERNUMBER</property>
<property name="dataType">integer</property>
<property name="nativeDataType">4</property>
</structure>
</list-property>
<xml-property name="queryText"><![CDATA[select *
from orders]]></xml-property>
<xml-property name="designerValues"><![CDATA[<?xml
version="1.0" encoding="UTF-8"?>
<model:DesignValues
xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design"
xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
<Version>1.0</Version>
<design:ResultSets derivedMetaData="true">
<design:resultSetDefinitions>
<design:resultSetColumns>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>ORDERNUMBER</design:name>
<design:position>1</design:position>
<design:nativeDataTypeCode>4</design:nativeDataTypeCode>
<design:precision>10</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>ORDERNUMBER</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>ORDERNUMBER</design:label>
<design:formattingHints>
<design:displaySize>11</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>ORDERDATE</design:name>
<design:position>2</design:position>
<design:nativeDataTypeCode>91</design:nativeDataTypeCode>
<design:precision>10</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>ORDERDATE</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>ORDERDATE</design:label>
<design:formattingHints>
<design:displaySize>10</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>REQUIREDDATE</design:name>
<design:position>3</design:position>
<design:nativeDataTypeCode>91</design:nativeDataTypeCode>
<design:precision>10</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>REQUIREDDATE</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>REQUIREDDATE</design:label>
<design:formattingHints>
<design:displaySize>10</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>SHIPPEDDATE</design:name>
<design:position>4</design:position>
<design:nativeDataTypeCode>91</design:nativeDataTypeCode>
<design:precision>10</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>SHIPPEDDATE</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>SHIPPEDDATE</design:label>
<design:formattingHints>
<design:displaySize>10</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>STATUS</design:name>
<design:position>5</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>15</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>STATUS</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>STATUS</design:label>
<design:formattingHints>
<design:displaySize>15</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>COMMENTS</design:name>
<design:position>6</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>32700</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>COMMENTS</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>COMMENTS</design:label>
<design:formattingHints>
<design:displaySize>32700</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>CUSTOMERNUMBER</design:name>
<design:position>7</design:position>
<design:nativeDataTypeCode>4</design:nativeDataTypeCode>
<design:precision>10</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>CUSTOMERNUMBER</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>CUSTOMERNUMBER</design:label>
<design:formattingHints>
<design:displaySize>11</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
</design:resultSetColumns>
</design:resultSetDefinitions>
</design:ResultSets>
</model:DesignValues>
]]></xml-property>
</oda-data-set>
</data-sets>
<styles>
<style name="report" id="4">
<property name="fontFamily">"Verdana"</property>
<property name="fontSize">10pt</property>
</style>
<style name="crosstab" id="5">
<property name="borderBottomColor">#CCCCCC</property>
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1pt</property>
<property name="borderLeftColor">#CCCCCC</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1pt</property>
<property name="borderRightColor">#CCCCCC</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1pt</property>
<property name="borderTopColor">#CCCCCC</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">1pt</property>
</style>
<style name="crosstab-cell" id="6">
<property name="borderBottomColor">#CCCCCC</property>
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1pt</property>
<property name="borderLeftColor">#CCCCCC</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1pt</property>
<property name="borderRightColor">#CCCCCC</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1pt</property>
<property name="borderTopColor">#CCCCCC</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">1pt</property>
</style>
<style name="table-header" id="55">
<property name="backgroundColor">#6078BF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="table-footer" id="56">
<property name="backgroundColor">#6078BF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="table-detail" id="57">
<property name="backgroundColor">#E6ECFF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">x-small</property>
<property name="fontWeight">bold</property>
<property name="color">#000080</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="table-group-header-1" id="58">
<property name="backgroundColor">#809FFF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="table-group-footer-1" id="59">
<property name="backgroundColor">#809FFF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="special-header" id="60">
<property name="backgroundColor">#6078BF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">medium</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="crosstab-detail" id="61">
<property name="backgroundColor">#E6ECFF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">x-small</property>
<property name="fontWeight">bold</property>
<property name="color">#000080</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="crosstab-header" id="62">
<property name="backgroundColor">#6078BF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="mydata" id="63">
<property name="color">orange</property>
</style>
</styles>
<page-setup>
<simple-master-page name="Simple MasterPage" id="2">
<page-header>
<grid id="64">
<column id="65"/>
<column id="66"/>
<row id="67">
<cell id="68">
<auto-text id="75">
<property
name="type">page-variable</property>
<property
name="pageVariable">FIRST</property>
</auto-text>
<label id="73">
<method name="onRender"><![CDATA[if(
reportContext.getPageVariable("FIRST") == 1 ){
this.getStyle().display="none";
}else{
this.getStyle().display="true";
}
]]></method>
<text-property name="text">Should not
Show on First Page</text-property>
</label>
</cell>
<cell id="69">
<label id="74">
<text-property name="text">Should show
on All pages</text-property>
</label>
</cell>
</row>
</grid>
</page-header>
<page-footer>
<text id="3">
<property name="contentType">html</property>
<text-property
name="content"><![CDATA[<value-of>new Date()</value-of>]]></text-property>
</text>
</page-footer>
</simple-master-page>
</page-setup>
<body>
<table id="9">
<property name="dataSet">Data Set</property>
<list-property name="boundDataColumns">
<structure>
<property name="name">ORDERNUMBER</property>
<property name="displayName">ORDERNUMBER</property>
<expression
name="expression">dataSetRow["ORDERNUMBER"]</expression >
<property name="dataType">integer</property>
</structure>
<structure>
<property name="name">ORDERDATE</property>
<property name="displayName">ORDERDATE</property>
<expression
name="expression">dataSetRow["ORDERDATE"]</expression>
<property name="dataType">date</property>
</structure>
<structure>
<property name="name">REQUIREDDATE</property>
<property name="displayName">REQUIREDDATE</property>
<expression
name="expression">dataSetRow["REQUIREDDATE"]</expression >
<property name="dataType">date</property>
</structure>
<structure>
<property name="name">SHIPPEDDATE</property>
<property name="displayName">SHIPPEDDATE</property>
<expression
name="expression">dataSetRow["SHIPPEDDATE"]</expression >
<property name="dataType">date</property>
</structure>
<structure>
<property name="name">STATUS</property>
<property name="displayName">STATUS</property>
<expression
name="expression">dataSetRow["STATUS"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">COMMENTS</property>
<property name="displayName">COMMENTS</property>
<expression
name="expression">dataSetRow["COMMENTS"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">CUSTOMERNUMBER</property>
<property name="displayName">CUSTOMERNUMBER</property>
<expression
name="expression">dataSetRow["CUSTOMERNUMBER"]</expression >
<property name="dataType">integer</property>
</structure>
</list-property>
<column id="48"/>
<column id="49"/>
<column id="50"/>
<column id="51"/>
<column id="52"/>
<column id="53"/>
<column id="54"/>
<header>
<row id="10">
<cell id="11">
<label id="12">
<text-property
name="text">ORDERNUMBER</text-property>
</label>
</cell>
<cell id="13">
<label id="14">
<text-property
name="text">ORDERDATE</text-property>
</label>
</cell>
<cell id="15">
<label id="16">
<text-property
name="text">REQUIREDDATE</text-property>
</label>
</cell>
<cell id="17">
<label id="18">
<text-property
name="text">SHIPPEDDATE</text-property>
</label>
</cell>
<cell id="19">
<label id="20">
<text-property
name="text">STATUS</text-property>
</label>
</cell>
<cell id="21">
<label id="22">
<text-property
name="text">COMMENTS</text-property>
</label>
</cell>
<cell id="23">
<label id="24">
<text-property
name="text">CUSTOMERNUMBER</text-property>
</label>
</cell>
</row>
</header>
<detail>
<row id="25">
<cell id="26">
<data id="27">
<property
name="resultSetColumn">ORDERNUMBER</property>
</data>
</cell>
<cell id="28">
<data id="29">
<property
name="resultSetColumn">ORDERDATE</property>
</data>
</cell>
<cell id="30">
<data id="31">
<property
name="resultSetColumn">REQUIREDDATE</property>
</data>
</cell>
<cell id="32">
<data id="33">
<property
name="resultSetColumn">SHIPPEDDATE</property>
</data>
</cell>
<cell id="34">
<data id="35">
<property
name="resultSetColumn">STATUS</property>
</data>
</cell>
<cell id="36">
<data id="37">
<property
name="resultSetColumn">COMMENTS</property>
</data>
</cell>
<cell id="38">
<data id="39">
<property
name="resultSetColumn">CUSTOMERNUMBER</property>
</data>
</cell>
</row>
</detail>
<footer>
<row id="40">
<cell id="41"/>
<cell id="42"/>
<cell id="43"/>
<cell id="44"/>
<cell id="45"/>
<cell id="46"/>
<cell id="47"/>
</row>
</footer>
</table>
</body>
<property name="pageVariables">
<variable-element name="FIRST">
<expression name="value" type="constant">0</expression>
<property name="type">page</property>
</variable-element>
</property>
</report>


Vanne wrote:
> I think I'm encountering the same problem as described here:
> http://dev.eclipse.org/newslists/news.eclipse.birt/msg28156. html
> but I'm using BIRT 2.5!
>
> BTW: is there a possibility to get the value of the auto-text element
> pageNumber?
>
Re: Different headers for multipage report [message #468352 is a reply to message #468309] Wed, 05 August 2009 07:58 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: DEVILoper.gmx.de

Hello Jason,

First of all, thanks for your continuing help and patience.

I already tried changing the page break interval. But that's no option for
me, because there must be some stuff as adress and so on on the first
page, that doesn't appear on the rest of them. But because this part is
quite big, the amount of the data displayed on the first page is a great
deal less than on the others. (In fact, it's a whole table of 10 rows...)

The consequence is, that if I fit the page break interval to the first
page, there are tons of white space on the others. If I fit the page break
interval to a normal page, the first page is continued on the second page.

Additionally, I don't know if that's a good way to provide a page break,
because the height of the data rows I display differs. (There are some
detail rows, that are smaller...and the number of the details differ,
too.) So even if I found a good page break interval fitting for this
report, it might not fit for the next dataset I'm using.

I'm sorry, if I'm missing something...

Vanne
Re: Different headers for multipage report [message #479305 is a reply to message #468352] Mon, 10 August 2009 15:38 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason WeathersbyFriend
Messages: 9167
Registered: July 2009
Senior Member

Vanne,

You could always add your own page break on the first page.

var rowcount = this.getRowData().getColumnValue("rwc");
if( reportContext.getPageVariable("FIRST") == 0 ){
if( (parseInt(rowcount)+1)%5 == 0 ){
this.getStyle().pageBreakAfter = "Always";
}
}

See attached example.

Jason

<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.20"
id="1">
<property name="createdBy">Eclipse BIRT Designer Version
2.5.0.v20090603 Build &lt;2.5.0.v20090617-0630></property>
<property name="units">in</property>
<method name="onPageStart"><![CDATA[var first =
reportContext.getPageVariable("FIRST");
if( first == 1 ){
reportContext.setPageVariable("FIRST",2);
}]]></method>
<method name="onPageEnd"><![CDATA[var first =
reportContext.getPageVariable("FIRST");
if( first == 0 ){
reportContext.setPageVariable("FIRST",1);
}]]></method>
<property name="iconFile">/templates/blank_report.gif</property>
<property name="bidiLayoutOrientation">ltr</property>
<data-sources>
<oda-data-source
extensionID="org.eclipse.birt.report.data.oda.jdbc" name="Data Source"
id="7">
<property
name="odaDriverClass">org.eclipse.birt.report.data.oda.sampledb.Driver </property>
<property name="odaURL">jdbc:classicmodels:sampledb</property>
<property name="odaUser">ClassicModels</property>
</oda-data-source>
</data-sources>
<data-sets>
<oda-data-set
extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet "
name="Data Set" id="8">
<list-property name="columnHints">
<structure>
<property name="columnName">ORDERNUMBER</property>
<property name="displayName">ORDERNUMBER</property>
</structure>
<structure>
<property name="columnName">ORDERDATE</property>
<property name="displayName">ORDERDATE</property>
</structure>
<structure>
<property name="columnName">REQUIREDDATE</property>
<property name="displayName">REQUIREDDATE</property>
</structure>
<structure>
<property name="columnName">SHIPPEDDATE</property>
<property name="displayName">SHIPPEDDATE</property>
</structure>
<structure>
<property name="columnName">STATUS</property>
<property name="displayName">STATUS</property>
</structure>
<structure>
<property name="columnName">COMMENTS</property>
<property name="displayName">COMMENTS</property>
</structure>
<structure>
<property name="columnName">CUSTOMERNUMBER</property>
<property name="displayName">CUSTOMERNUMBER</property>
</structure>
</list-property>
<structure name="cachedMetaData">
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">ORDERNUMBER</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">ORDERDATE</property>
<property name="dataType">date</property>
</structure>
<structure>
<property name="position">3</property>
<property name="name">REQUIREDDATE</property>
<property name="dataType">date</property>
</structure>
<structure>
<property name="position">4</property>
<property name="name">SHIPPEDDATE</property>
<property name="dataType">date</property>
</structure>
<structure>
<property name="position">5</property>
<property name="name">STATUS</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">6</property>
<property name="name">COMMENTS</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">7</property>
<property name="name">CUSTOMERNUMBER</property>
<property name="dataType">integer</property>
</structure>
</list-property>
</structure>
<property name="dataSource">Data Source</property>
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">ORDERNUMBER</property>
<property name="nativeName">ORDERNUMBER</property>
<property name="dataType">integer</property>
<property name="nativeDataType">4</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">ORDERDATE</property>
<property name="nativeName">ORDERDATE</property>
<property name="dataType">date</property>
<property name="nativeDataType">91</property>
</structure>
<structure>
<property name="position">3</property>
<property name="name">REQUIREDDATE</property>
<property name="nativeName">REQUIREDDATE</property>
<property name="dataType">date</property>
<property name="nativeDataType">91</property>
</structure>
<structure>
<property name="position">4</property>
<property name="name">SHIPPEDDATE</property>
<property name="nativeName">SHIPPEDDATE</property>
<property name="dataType">date</property>
<property name="nativeDataType">91</property>
</structure>
<structure>
<property name="position">5</property>
<property name="name">STATUS</property>
<property name="nativeName">STATUS</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
<property name="position">6</property>
<property name="name">COMMENTS</property>
<property name="nativeName">COMMENTS</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
<property name="position">7</property>
<property name="name">CUSTOMERNUMBER</property>
<property name="nativeName">CUSTOMERNUMBER</property>
<property name="dataType">integer</property>
<property name="nativeDataType">4</property>
</structure>
</list-property>
<xml-property name="queryText"><![CDATA[select *
from orders]]></xml-property>
<xml-property name="designerValues"><![CDATA[<?xml
version="1.0" encoding="UTF-8"?>
<model:DesignValues
xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design"
xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
<Version>1.0</Version>
<design:ResultSets derivedMetaData="true">
<design:resultSetDefinitions>
<design:resultSetColumns>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>ORDERNUMBER</design:name>
<design:position>1</design:position>
<design:nativeDataTypeCode>4</design:nativeDataTypeCode>
<design:precision>10</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>ORDERNUMBER</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>ORDERNUMBER</design:label>
<design:formattingHints>
<design:displaySize>11</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>ORDERDATE</design:name>
<design:position>2</design:position>
<design:nativeDataTypeCode>91</design:nativeDataTypeCode>
<design:precision>10</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>ORDERDATE</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>ORDERDATE</design:label>
<design:formattingHints>
<design:displaySize>10</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>REQUIREDDATE</design:name>
<design:position>3</design:position>
<design:nativeDataTypeCode>91</design:nativeDataTypeCode>
<design:precision>10</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>REQUIREDDATE</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>REQUIREDDATE</design:label>
<design:formattingHints>
<design:displaySize>10</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>SHIPPEDDATE</design:name>
<design:position>4</design:position>
<design:nativeDataTypeCode>91</design:nativeDataTypeCode>
<design:precision>10</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>SHIPPEDDATE</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>SHIPPEDDATE</design:label>
<design:formattingHints>
<design:displaySize>10</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>STATUS</design:name>
<design:position>5</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>15</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>STATUS</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>STATUS</design:label>
<design:formattingHints>
<design:displaySize>15</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>COMMENTS</design:name>
<design:position>6</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>32700</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>COMMENTS</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>COMMENTS</design:label>
<design:formattingHints>
<design:displaySize>32700</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>CUSTOMERNUMBER</design:name>
<design:position>7</design:position>
<design:nativeDataTypeCode>4</design:nativeDataTypeCode>
<design:precision>10</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>CUSTOMERNUMBER</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>CUSTOMERNUMBER</design:label>
<design:formattingHints>
<design:displaySize>11</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
</design:resultSetColumns>
</design:resultSetDefinitions>
</design:ResultSets>
</model:DesignValues>]]></xml-property>
</oda-data-set>
</data-sets>
<styles>
<style name="report" id="4">
<property name="fontFamily">"Verdana"</property>
<property name="fontSize">10pt</property>
</style>
<style name="crosstab" id="5">
<property name="borderBottomColor">#CCCCCC</property>
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1pt</property>
<property name="borderLeftColor">#CCCCCC</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1pt</property>
<property name="borderRightColor">#CCCCCC</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1pt</property>
<property name="borderTopColor">#CCCCCC</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">1pt</property>
</style>
<style name="crosstab-cell" id="6">
<property name="borderBottomColor">#CCCCCC</property>
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1pt</property>
<property name="borderLeftColor">#CCCCCC</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1pt</property>
<property name="borderRightColor">#CCCCCC</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1pt</property>
<property name="borderTopColor">#CCCCCC</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">1pt</property>
</style>
<style name="table-header" id="55">
<property name="backgroundColor">#6078BF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="table-footer" id="56">
<property name="backgroundColor">#6078BF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="table-detail" id="57">
<property name="backgroundColor">#E6ECFF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">x-small</property>
<property name="fontWeight">bold</property>
<property name="color">#000080</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="table-group-header-1" id="58">
<property name="backgroundColor">#809FFF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="table-group-footer-1" id="59">
<property name="backgroundColor">#809FFF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="special-header" id="60">
<property name="backgroundColor">#6078BF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">medium</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="crosstab-detail" id="61">
<property name="backgroundColor">#E6ECFF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">x-small</property>
<property name="fontWeight">bold</property>
<property name="color">#000080</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="crosstab-header" id="62">
<property name="backgroundColor">#6078BF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="mydata" id="63">
<property name="color">orange</property>
</style>
</styles>
<page-setup>
<simple-master-page name="Simple MasterPage" id="2">
<page-header>
<grid id="64">
<column id="65"/>
<column id="66"/>
<row id="67">
<cell id="68">
<auto-text id="75">
<property
name="type">page-variable</property>
<property
name="pageVariable">FIRST</property>
</auto-text>
<label id="73">
<method name="onRender"><![CDATA[if(
reportContext.getPageVariable("FIRST") == 1 ){
this.getStyle().display="none";
}else{
this.getStyle().display="true";
}
]]></method>
<text-property name="text">Should not
Show on First Page</text-property>
</label>
</cell>
<cell id="69">
<label id="74">
<text-property name="text">Should show
on All pages</text-property>
</label>
</cell>
</row>
</grid>
</page-header>
<page-footer>
<text id="3">
<property name="contentType">html</property>
<text-property
name="content"><![CDATA[<value-of>new Date()</value-of>]]></text-property>
</text>
</page-footer>
</simple-master-page>
</page-setup>
<body>
<table id="9">
<property name="dataSet">Data Set</property>
<list-property name="boundDataColumns">
<structure>
<property name="name">ORDERNUMBER</property>
<property name="displayName">ORDERNUMBER</property>
<expression
name="expression">dataSetRow["ORDERNUMBER"]</expression >
<property name="dataType">integer</property>
</structure>
<structure>
<property name="name">ORDERDATE</property>
<property name="displayName">ORDERDATE</property>
<expression
name="expression">dataSetRow["ORDERDATE"]</expression>
<property name="dataType">date</property>
</structure>
<structure>
<property name="name">REQUIREDDATE</property>
<property name="displayName">REQUIREDDATE</property>
<expression
name="expression">dataSetRow["REQUIREDDATE"]</expression >
<property name="dataType">date</property>
</structure>
<structure>
<property name="name">SHIPPEDDATE</property>
<property name="displayName">SHIPPEDDATE</property>
<expression
name="expression">dataSetRow["SHIPPEDDATE"]</expression >
<property name="dataType">date</property>
</structure>
<structure>
<property name="name">STATUS</property>
<property name="displayName">STATUS</property>
<expression
name="expression">dataSetRow["STATUS"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">COMMENTS</property>
<property name="displayName">COMMENTS</property>
<expression
name="expression">dataSetRow["COMMENTS"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">CUSTOMERNUMBER</property>
<property name="displayName">CUSTOMERNUMBER</property>
<expression
name="expression">dataSetRow["CUSTOMERNUMBER"]</expression >
<property name="dataType">integer</property>
</structure>
<structure>
<property name="name">rwc</property>
<expression name="expression">row.__rownum</expression>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="name">Column Binding</property>
<expression name="expression">row.__rownum</expression>
<property name="dataType">integer</property>
</structure>
</list-property>
<method name="onPageBreak"><![CDATA[var tst =
reportContext.getPageVariable("FIRST");
if( tst == 2 ){
this.pageBreakInterval = 1;
}else{
this.pageBreakInterval = 2;
}]]></method>
<property name="pageBreakInterval">20</property>
<column id="85"/>
<column id="48"/>
<column id="49"/>
<column id="50"/>
<column id="51"/>
<column id="52"/>
<column id="53"/>
<column id="54"/>
<header>
<row id="10">
<cell id="82"/>
<cell id="11">
<label id="12">
<text-property
name="text">ORDERNUMBER</text-property>
</label>
</cell>
<cell id="13">
<label id="14">
<text-property
name="text">ORDERDATE</text-property>
</label>
</cell>
<cell id="15">
<label id="16">
<text-property
name="text">REQUIREDDATE</text-property>
</label>
</cell>
<cell id="17">
<label id="18">
<text-property
name="text">SHIPPEDDATE</text-property>
</label>
</cell>
<cell id="19">
<label id="20">
<text-property
name="text">STATUS</text-property>
</label>
</cell>
<cell id="21">
<label id="22">
<text-property
name="text">COMMENTS</text-property>
</label>
</cell>
<cell id="23">
<label id="24">
<text-property
name="text">CUSTOMERNUMBER</text-property>
</label>
</cell>
</row>
</header>
<detail>
<row id="25">
<method name="onCreate"><![CDATA[var rowcount =
this.getRowData().getColumnValue("rwc");
if( reportContext.getPageVariable("FIRST") == 0 ){
if( (parseInt(rowcount)+1)%5 == 0 ){
this.getStyle().pageBreakAfter = "Always";
}
}]]></method>
<cell id="83">
<data id="86">
<property name="resultSetColumn">Column
Binding</property>
</data>
</cell>
<cell id="26">
<data id="27">
<property
name="resultSetColumn">ORDERNUMBER</property>
</data>
</cell>
<cell id="28">
<data id="29">
<property
name="resultSetColumn">ORDERDATE</property>
</data>
</cell>
<cell id="30">
<data id="31">
<property
name="resultSetColumn">REQUIREDDATE</property>
</data>
</cell>
<cell id="32">
<data id="33">
<property
name="resultSetColumn">SHIPPEDDATE</property>
</data>
</cell>
<cell id="34">
<data id="35">
<property
name="resultSetColumn">STATUS</property>
</data>
</cell>
<cell id="36">
<data id="37">
<property
name="resultSetColumn">COMMENTS</property>
</data>
</cell>
<cell id="38">
<data id="39">
<property
name="resultSetColumn">CUSTOMERNUMBER</property>
</data>
</cell>
</row>
</detail>
<footer>
<row id="40">
<cell id="84"/>
<cell id="41"/>
<cell id="42"/>
<cell id="43"/>
<cell id="44"/>
<cell id="45"/>
<cell id="46"/>
<cell id="47"/>
</row>
</footer>
</table>
</body>
<property name="pageVariables">
<variable-element name="FIRST">
<expression name="value" type="constant">0</expression>
<property name="type">page</property>
</variable-element>
</property>
</report>


Vanne wrote:
> Hello Jason,
>
> First of all, thanks for your continuing help and patience.
>
> I already tried changing the page break interval. But that's no option
> for me, because there must be some stuff as adress and so on on the
> first page, that doesn't appear on the rest of them. But because this
> part is quite big, the amount of the data displayed on the first page is
> a great deal less than on the others. (In fact, it's a whole table of 10
> rows...)
>
> The consequence is, that if I fit the page break interval to the first
> page, there are tons of white space on the others. If I fit the page
> break interval to a normal page, the first page is continued on the
> second page.
>
> Additionally, I don't know if that's a good way to provide a page break,
> because the height of the data rows I display differs. (There are some
> detail rows, that are smaller...and the number of the details differ,
> too.) So even if I found a good page break interval fitting for this
> report, it might not fit for the next dataset I'm using.
>
> I'm sorry, if I'm missing something...
>
> Vanne
>
Re: Different headers for multipage report [message #479392 is a reply to message #479305] Mon, 10 August 2009 20:42 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: testemailwo.aon.at

I have the same problem.
I try to build a Birt report for an invoice.
there I need a page footer and a different last-page-footer.
Also I am not able to add visibility condition to labels in order to
display them only on the last page.
The last-page-footer should have a bigger height.
hopefully someone can help me. JasperReport and iReport has this
functionality with bands.
Is there any solution to handle my requests using Birt 2.5????
Re: Different headers for multipage report [message #479538 is a reply to message #479392] Tue, 11 August 2009 13:38 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason WeathersbyFriend
Messages: 9167
Registered: July 2009
Senior Member

Werner,

If you look at the master page tab you can add multiple master pages
each with different headers and footers. In order to get the report to
use the master page, you can set the master page property of the report
item (table, grid, list, etc) under the page break entry. Not sure if
this is what you are looking for.

Jason

Werner wrote:
> I have the same problem.
> I try to build a Birt report for an invoice.
> there I need a page footer and a different last-page-footer.
> Also I am not able to add visibility condition to labels in order to
> display them only on the last page.
> The last-page-footer should have a bigger height.
> hopefully someone can help me. JasperReport and iReport has this
> functionality with bands.
> Is there any solution to handle my requests using Birt 2.5????
>
>
Re: Different headers for multipage report [message #479548 is a reply to message #467911] Tue, 11 August 2009 14:11 Go to previous message
Larry Li is currently offline Larry LiFriend
Messages: 32
Registered: July 2009
Member
> But the value of the variable only changes every 2 or three pages. Every
> time, when there is a seemingly random page break on the previous page,
> the value changes. As you told me the pageBreak event is considered for
> html output, it seems to me, that only after such a page break, the
> onRender() function is called.
> Could that be the case?

The "random page break" you had was caused by Page Break Interval in your
table property. I guess the header only refreshes or renders when that
happens. In PDF, I usually set Page Break Interval to 0, to make sure
there is no random, unwanted page break. As a results, your header
variable will never change.

> And that's the problem I am having:
> I want to hide a part of the MasterPage header only on the first page
> without leaving white space.

What you can do, and what I did when I had a similar problem, is that you
can change the way you use the query. Split your query into two levels. In
the first level table, put some stuff in "detail" and use conditional
visible/invisible rows, instead of using "un-controlable header rows". The
second level, which is another table, you put the data items. Well, you
need to think carefully about your design tho. This may not be a pretty
design but is a doable go-around.

GLHF!


Larry
Previous Topic:Select Multiple Tables to Modify a Property to the Same Value
Next Topic:HTML report in browser view gets truncated when printed
Goto Forum:
  


Current Time: Thu Mar 28 16:09:21 GMT 2024

Powered by FUDForum. Page generated in 0.03615 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top