Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » BIRT » How to display footer only on first page
How to display footer only on first page [message #368615] Mon, 15 June 2009 16:43 Go to next message
Jens Goldhammer is currently offline Jens GoldhammerFriend
Messages: 6
Registered: July 2009
Junior Member
Hello,

i have a report design with one masterpage (defined a header and a
footer). The layout consists of one big table where all data are
populated through a self-written oda-adapter.

How can I control that the footer is only displayed on the first page
and is hidden on all other pages?

Thanks,
Jens
Re: How to display footer only on first page [message #368624 is a reply to message #368615] Tue, 16 June 2009 14:42 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: jasonweathersby.windstream.net

Jens,

You can put a label in the footer and use an on render script for it like:
if(pageNumber==1){
this.text = "My First Page Footer";
}else{
this.text = "";
}

If you are generating straight to pdf you will need to make sure the
page break interval is set to make pdf and html pages roughly the same.
In the attached example I set it to 30 which worked.

Jason

<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.17"
id="1">
<property name="createdBy">Eclipse BIRT Designer Version
2.3.2.r232_20090202 Build &lt;2.3.2.v20090218-0730></property>
<property name="units">in</property>
<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>
<property name="OdaConnProfileName"></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">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>
<property name="queryText">select *
from orderdetails</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="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>
</styles>
<page-setup>
<simple-master-page name="Simple MasterPage" id="2">
<property name="topMargin">0.25in</property>
<property name="leftMargin">0.25in</property>
<property name="bottomMargin">0.25in</property>
<property name="rightMargin">0.25in</property>
<page-footer>
<label id="43">
<method name="onRender"><![CDATA[if(pageNumber==1){
this.text = "My First Page Footer";
}else{
this.text = "";
}]]></method>
</label>
</page-footer>
</simple-master-page>
</page-setup>
<body>
<table id="9">
<property name="width">100%</property>
<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">PRODUCTCODE</property>
<property name="displayName">PRODUCTCODE</property>
<expression
name="expression">dataSetRow["PRODUCTCODE"]</expression >
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">QUANTITYORDERED</property>
<property name="displayName">QUANTITYORDERED</property>
<expression
name="expression">dataSetRow["QUANTITYORDERED"]</expression >
<property name="dataType">integer</property>
</structure>
<structure>
<property name="name">PRICEEACH</property>
<property name="displayName">PRICEEACH</property>
<expression
name="expression">dataSetRow["PRICEEACH"]</expression>
<property name="dataType">float</property>
</structure>
<structure>
<property name="name">ORDERLINENUMBER</property>
<property name="displayName">ORDERLINENUMBER</property>
<expression
name="expression">dataSetRow["ORDERLINENUMBER"]</expression >
<property name="dataType">integer</property>
</structure>
</list-property>
<property name="pageBreakInterval">30</property>
<column id="38"/>
<column id="39"/>
<column id="40"/>
<column id="41"/>
<column id="42"/>
<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">PRODUCTCODE</text-property>
</label>
</cell>
<cell id="15">
<label id="16">
<text-property
name="text">QUANTITYORDERED</text-property>
</label>
</cell>
<cell id="17">
<label id="18">
<text-property
name="text">PRICEEACH</text-property>
</label>
</cell>
<cell id="19">
<label id="20">
<text-property
name="text">ORDERLINENUMBER</text-property>
</label>
</cell>
</row>
</header>
<detail>
<row id="21">
<cell id="22">
<data id="23">
<property
name="resultSetColumn">ORDERNUMBER</property>
</data>
</cell>
<cell id="24">
<data id="25">
<property
name="resultSetColumn">PRODUCTCODE</property>
</data>
</cell>
<cell id="26">
<data id="27">
<property
name="resultSetColumn">QUANTITYORDERED</property>
</data>
</cell>
<cell id="28">
<data id="29">
<property
name="resultSetColumn">PRICEEACH</property>
</data>
</cell>
<cell id="30">
<data id="31">
<property
name="resultSetColumn">ORDERLINENUMBER</property>
</data>
</cell>
</row>
</detail>
<footer>
<row id="32">
<cell id="33"/>
<cell id="34"/>
<cell id="35"/>
<cell id="36"/>
<cell id="37"/>
</row>
</footer>
</table>
</body>
</report>


Jens Goldhammer wrote:
> Hello,
>
> i have a report design with one masterpage (defined a header and a
> footer). The layout consists of one big table where all data are
> populated through a self-written oda-adapter.
>
> How can I control that the footer is only displayed on the first page
> and is hidden on all other pages?
>
> Thanks,
> Jens
Re: How to display footer only on first page [message #368670 is a reply to message #368624] Thu, 18 June 2009 14:40 Go to previous messageGo to next message
Jens Goldhammer is currently offline Jens GoldhammerFriend
Messages: 6
Registered: July 2009
Junior Member
Jason,
thanks for answering. Example works great if output format is pdf. But I
need the report as word-file. In my generated word document the footer
is on every page. I think, the word emitter does not handle this
correctly. Should I open a bug on bugzilla?

Another question: How can I hide a complete grid with borders etc., not
just a label?

Thanks,
Jens


Am 16.06.2009 16:42, schrieb Jason Weathersby:
> Jens,
>
> You can put a label in the footer and use an on render script for it like:
> if(pageNumber==1){
> this.text = "My First Page Footer";
> }else{
> this.text = "";
> }
>
> If you are generating straight to pdf you will need to make sure the
> page break interval is set to make pdf and html pages roughly the same.
> In the attached example I set it to 30 which worked.
>
> Jason
>
> <?xml version="1.0" encoding="UTF-8"?>
> <report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.17"
> id="1">
> <property name="createdBy">Eclipse BIRT Designer Version
> 2.3.2.r232_20090202 Build &lt;2.3.2.v20090218-0730></property>
> <property name="units">in</property>
> <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>
> <property name="OdaConnProfileName"></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">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>
> <property name="queryText">select *
> from orderdetails</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="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>
> </styles>
> <page-setup>
> <simple-master-page name="Simple MasterPage" id="2">
> <property name="topMargin">0.25in</property>
> <property name="leftMargin">0.25in</property>
> <property name="bottomMargin">0.25in</property>
> <property name="rightMargin">0.25in</property>
> <page-footer>
> <label id="43">
> <method name="onRender"><![CDATA[if(pageNumber==1){
> this.text = "My First Page Footer";
> }else{
> this.text = "";
> }]]></method>
> </label>
> </page-footer>
> </simple-master-page>
> </page-setup>
> <body>
> <table id="9">
> <property name="width">100%</property>
> <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">PRODUCTCODE</property>
> <property name="displayName">PRODUCTCODE</property>
> <expression name="expression">dataSetRow["PRODUCTCODE"]</expression >
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="name">QUANTITYORDERED</property>
> <property name="displayName">QUANTITYORDERED</property>
> <expression name="expression">dataSetRow["QUANTITYORDERED"]</expression >
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="name">PRICEEACH</property>
> <property name="displayName">PRICEEACH</property>
> <expression name="expression">dataSetRow["PRICEEACH"]</expression>
> <property name="dataType">float</property>
> </structure>
> <structure>
> <property name="name">ORDERLINENUMBER</property>
> <property name="displayName">ORDERLINENUMBER</property>
> <expression name="expression">dataSetRow["ORDERLINENUMBER"]</expression >
> <property name="dataType">integer</property>
> </structure>
> </list-property>
> <property name="pageBreakInterval">30</property>
> <column id="38"/>
> <column id="39"/>
> <column id="40"/>
> <column id="41"/>
> <column id="42"/>
> <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">PRODUCTCODE</text-property>
> </label>
> </cell>
> <cell id="15">
> <label id="16">
> <text-property name="text">QUANTITYORDERED</text-property>
> </label>
> </cell>
> <cell id="17">
> <label id="18">
> <text-property name="text">PRICEEACH</text-property>
> </label>
> </cell>
> <cell id="19">
> <label id="20">
> <text-property name="text">ORDERLINENUMBER</text-property>
> </label>
> </cell>
> </row>
> </header>
> <detail>
> <row id="21">
> <cell id="22">
> <data id="23">
> <property name="resultSetColumn">ORDERNUMBER</property>
> </data>
> </cell>
> <cell id="24">
> <data id="25">
> <property name="resultSetColumn">PRODUCTCODE</property>
> </data>
> </cell>
> <cell id="26">
> <data id="27">
> <property name="resultSetColumn">QUANTITYORDERED</property>
> </data>
> </cell>
> <cell id="28">
> <data id="29">
> <property name="resultSetColumn">PRICEEACH</property>
> </data>
> </cell>
> <cell id="30">
> <data id="31">
> <property name="resultSetColumn">ORDERLINENUMBER</property>
> </data>
> </cell>
> </row>
> </detail>
> <footer>
> <row id="32">
> <cell id="33"/>
> <cell id="34"/>
> <cell id="35"/>
> <cell id="36"/>
> <cell id="37"/>
> </row>
> </footer>
> </table>
> </body>
> </report>
>
>
> Jens Goldhammer wrote:
>> Hello,
>>
>> i have a report design with one masterpage (defined a header and a
>> footer). The layout consists of one big table where all data are
>> populated through a self-written oda-adapter.
>>
>> How can I control that the footer is only displayed on the first page
>> and is hidden on all other pages?
>>
>> Thanks,
>> Jens
Re: How to display footer only on first page [message #368679 is a reply to message #368670] Thu, 18 June 2009 17:54 Go to previous message
Eclipse UserFriend
Originally posted by: jasonweathersby.windstream.net

Jens,

I believe the word issue has be fixed in BIRT 2.5. To turn off borders
etc you could modify the script like:
if(pageNumber==1){
this.text = "My First Page Footer";
}else{
this.text = "";
this.getStyle().borderBottomStyle="none";
this.getStyle().borderLeftStyle="none";
this.getStyle().borderRightStyle="none";
this.getStyle().borderTopStyle="none";

}
Jason

Jens Goldhammer wrote:
> Jason,
> thanks for answering. Example works great if output format is pdf. But I
> need the report as word-file. In my generated word document the footer
> is on every page. I think, the word emitter does not handle this
> correctly. Should I open a bug on bugzilla?
>
> Another question: How can I hide a complete grid with borders etc., not
> just a label?
>
> Thanks,
> Jens
>
>
> Am 16.06.2009 16:42, schrieb Jason Weathersby:
>> Jens,
>>
>> You can put a label in the footer and use an on render script for it
>> like:
>> if(pageNumber==1){
>> this.text = "My First Page Footer";
>> }else{
>> this.text = "";
>> }
>>
>> If you are generating straight to pdf you will need to make sure the
>> page break interval is set to make pdf and html pages roughly the same.
>> In the attached example I set it to 30 which worked.
>>
>> Jason
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.17"
>> id="1">
>> <property name="createdBy">Eclipse BIRT Designer Version
>> 2.3.2.r232_20090202 Build &lt;2.3.2.v20090218-0730></property>
>> <property name="units">in</property>
>> <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>
>> <property name="OdaConnProfileName"></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">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>
>> <property name="queryText">select *
>> from orderdetails</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="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>
>> </styles>
>> <page-setup>
>> <simple-master-page name="Simple MasterPage" id="2">
>> <property name="topMargin">0.25in</property>
>> <property name="leftMargin">0.25in</property>
>> <property name="bottomMargin">0.25in</property>
>> <property name="rightMargin">0.25in</property>
>> <page-footer>
>> <label id="43">
>> <method name="onRender"><![CDATA[if(pageNumber==1){
>> this.text = "My First Page Footer";
>> }else{
>> this.text = "";
>> }]]></method>
>> </label>
>> </page-footer>
>> </simple-master-page>
>> </page-setup>
>> <body>
>> <table id="9">
>> <property name="width">100%</property>
>> <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">PRODUCTCODE</property>
>> <property name="displayName">PRODUCTCODE</property>
>> <expression name="expression">dataSetRow["PRODUCTCODE"]</expression >
>> <property name="dataType">string</property>
>> </structure>
>> <structure>
>> <property name="name">QUANTITYORDERED</property>
>> <property name="displayName">QUANTITYORDERED</property>
>> <expression name="expression">dataSetRow["QUANTITYORDERED"]</expression >
>> <property name="dataType">integer</property>
>> </structure>
>> <structure>
>> <property name="name">PRICEEACH</property>
>> <property name="displayName">PRICEEACH</property>
>> <expression name="expression">dataSetRow["PRICEEACH"]</expression>
>> <property name="dataType">float</property>
>> </structure>
>> <structure>
>> <property name="name">ORDERLINENUMBER</property>
>> <property name="displayName">ORDERLINENUMBER</property>
>> <expression name="expression">dataSetRow["ORDERLINENUMBER"]</expression >
>> <property name="dataType">integer</property>
>> </structure>
>> </list-property>
>> <property name="pageBreakInterval">30</property>
>> <column id="38"/>
>> <column id="39"/>
>> <column id="40"/>
>> <column id="41"/>
>> <column id="42"/>
>> <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">PRODUCTCODE</text-property>
>> </label>
>> </cell>
>> <cell id="15">
>> <label id="16">
>> <text-property name="text">QUANTITYORDERED</text-property>
>> </label>
>> </cell>
>> <cell id="17">
>> <label id="18">
>> <text-property name="text">PRICEEACH</text-property>
>> </label>
>> </cell>
>> <cell id="19">
>> <label id="20">
>> <text-property name="text">ORDERLINENUMBER</text-property>
>> </label>
>> </cell>
>> </row>
>> </header>
>> <detail>
>> <row id="21">
>> <cell id="22">
>> <data id="23">
>> <property name="resultSetColumn">ORDERNUMBER</property>
>> </data>
>> </cell>
>> <cell id="24">
>> <data id="25">
>> <property name="resultSetColumn">PRODUCTCODE</property>
>> </data>
>> </cell>
>> <cell id="26">
>> <data id="27">
>> <property name="resultSetColumn">QUANTITYORDERED</property>
>> </data>
>> </cell>
>> <cell id="28">
>> <data id="29">
>> <property name="resultSetColumn">PRICEEACH</property>
>> </data>
>> </cell>
>> <cell id="30">
>> <data id="31">
>> <property name="resultSetColumn">ORDERLINENUMBER</property>
>> </data>
>> </cell>
>> </row>
>> </detail>
>> <footer>
>> <row id="32">
>> <cell id="33"/>
>> <cell id="34"/>
>> <cell id="35"/>
>> <cell id="36"/>
>> <cell id="37"/>
>> </row>
>> </footer>
>> </table>
>> </body>
>> </report>
>>
>>
>> Jens Goldhammer wrote:
>>> Hello,
>>>
>>> i have a report design with one masterpage (defined a header and a
>>> footer). The layout consists of one big table where all data are
>>> populated through a self-written oda-adapter.
>>>
>>> How can I control that the footer is only displayed on the first page
>>> and is hidden on all other pages?
>>>
>>> Thanks,
>>> Jens
>
Previous Topic:How to close OutputStream
Next Topic:need to avoid column sort on Cross Tab
Goto Forum:
  


Current Time: Thu Apr 25 22:21:38 GMT 2024

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

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

Back to the top