Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » BIRT » footer on last page only
footer on last page only [message #258485] Tue, 16 October 2007 15:32 Go to next message
Steve Nell is currently offline Steve NellFriend
Messages: 11
Registered: July 2009
Junior Member
I want to print a page footer only on the last page of my report. I see
several postings about this and have tried a few approaches, but no success
so far. Anyone know if it is possible? Does anyone know if it is not
possible?

many thanks,
Steve Nell
Re: footer on last page only [message #258520 is a reply to message #258485] Tue, 16 October 2007 18:06 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: jasonweathersby.alltel.net

Steve,

I believe there is a bug for this already in bugzilla, but you may want
to try adding an additional master page. On one have nothing and on the
second have the footer you want. Add a grid at the bottom of the report
and set it to your footer master page.

Jason

Steve Nell wrote:
> I want to print a page footer only on the last page of my report. I see
> several postings about this and have tried a few approaches, but no success
> so far. Anyone know if it is possible? Does anyone know if it is not
> possible?
>
> many thanks,
> Steve Nell
>
>
Re: footer on last page only - revised [message #258630 is a reply to message #258520] Wed, 17 October 2007 17:03 Go to previous messageGo to next message
Steve Nell is currently offline Steve NellFriend
Messages: 11
Registered: July 2009
Junior Member
Jason,

That did work nicely, but now I have discovered that some of the footer
block needs to include data from the dataset. I have read that pagemasters
cannot interact w/ the data -- so now my question becomes:

Is there a way to force a table group footer to align to the bottom of the
available space on a page? ( or perhaps expand to fill the available space
on the page )

thank you,
Steve






"Jason Weathersby" <jasonweathersby@alltel.net> wrote in message
news:ff2udn$4es$1@build.eclipse.org...
> Steve,
>
> I believe there is a bug for this already in bugzilla, but you may want to
> try adding an additional master page. On one have nothing and on the
> second have the footer you want. Add a grid at the bottom of the report
> and set it to your footer master page.
>
> Jason
>
> Steve Nell wrote:
>> I want to print a page footer only on the last page of my report. I see
>> several postings about this and have tried a few approaches, but no
>> success so far. Anyone know if it is possible? Does anyone know if it
>> is not possible?
>>
>> many thanks,
>> Steve Nell
>>
Re: footer on last page only - revised [message #258640 is a reply to message #258630] Wed, 17 October 2007 18:59 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: jasonweathersby.alltel.net

Steve,

I do not know of an easy way to do this.

Jason

Steve Nell wrote:
> Jason,
>
> That did work nicely, but now I have discovered that some of the footer
> block needs to include data from the dataset. I have read that pagemasters
> cannot interact w/ the data -- so now my question becomes:
>
> Is there a way to force a table group footer to align to the bottom of the
> available space on a page? ( or perhaps expand to fill the available space
> on the page )
>
> thank you,
> Steve
>
>
>
>
>
>
> "Jason Weathersby" <jasonweathersby@alltel.net> wrote in message
> news:ff2udn$4es$1@build.eclipse.org...
>> Steve,
>>
>> I believe there is a bug for this already in bugzilla, but you may want to
>> try adding an additional master page. On one have nothing and on the
>> second have the footer you want. Add a grid at the bottom of the report
>> and set it to your footer master page.
>>
>> Jason
>>
>> Steve Nell wrote:
>>> I want to print a page footer only on the last page of my report. I see
>>> several postings about this and have tried a few approaches, but no
>>> success so far. Anyone know if it is possible? Does anyone know if it
>>> is not possible?
>>>
>>> many thanks,
>>> Steve Nell
>>>
>
Re: footer on last page only - revised [message #258718 is a reply to message #258640] Thu, 18 October 2007 16:59 Go to previous messageGo to next message
Steve Nell is currently offline Steve NellFriend
Messages: 11
Registered: July 2009
Junior Member
Jason,

We are still in the evaluation stage and have tested BIRT with about 10 of
our key reports. This is one of the last unresolved issues. We've
discussed ways of working around it, but those come with their own set of
costs. We are open to other approaches even if they are not easy.

We've considered modifying the birt engine, or doing some post processing on
the pdf file. Any thoughts/ideas you might have are appreciated.

thanks again,
Steve




"Jason Weathersby" <jasonweathersby@alltel.net> wrote in message
news:ff5lt6$sic$1@build.eclipse.org...
> Steve,
>
> I do not know of an easy way to do this.
>
> Jason
>
> Steve Nell wrote:
>> Jason,
>>
>> That did work nicely, but now I have discovered that some of the footer
>> block needs to include data from the dataset. I have read that
>> pagemasters cannot interact w/ the data -- so now my question becomes:
>>
>> Is there a way to force a table group footer to align to the bottom of
>> the available space on a page? ( or perhaps expand to fill the
>> available space on the page )
>>
>> thank you,
>> Steve
>>
>>
>>
>>
>>
>>
>> "Jason Weathersby" <jasonweathersby@alltel.net> wrote in message
>> news:ff2udn$4es$1@build.eclipse.org...
>>> Steve,
>>>
>>> I believe there is a bug for this already in bugzilla, but you may want
>>> to try adding an additional master page. On one have nothing and on the
>>> second have the footer you want. Add a grid at the bottom of the report
>>> and set it to your footer master page.
>>>
>>> Jason
>>>
>>> Steve Nell wrote:
>>>> I want to print a page footer only on the last page of my report. I
>>>> see several postings about this and have tried a few approaches, but no
>>>> success so far. Anyone know if it is possible? Does anyone know if it
>>>> is not possible?
>>>>
>>>> many thanks,
>>>> Steve Nell
>>>>
>>
Re: footer on last page only - revised [message #258768 is a reply to message #258718] Thu, 18 October 2007 20:59 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: jasonweathersby.alltel.net

Steve,

Take a look at the attached report. It has two master pages. I use
script to pull data from the main table and use in the page footer. The
only issue is the page break before the last footer. Would something
like this meet your needs?

Jason


<?xml version="1.0" encoding="UTF-8"?>

<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.15"
id="1">

<property name="createdBy">Eclipse BIRT Designer Version
2.2.1.r221_v20070924 Build &lt;2.2.0.v20070924-1550></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>

<method name="beforeFactory"><![CDATA[importPackage(Packages.java.lang)

testvar = Integer.parseInt(0);

testvar2 = Integer.parseInt(0);]]></method>

<text-property name="displayName">Blank Report</text-property>

<property name="iconFile">/templates/blank_report.gif</property>

<data-sources>

<oda-data-source extensionID="org.eclipse.birt.report.data.oda.jdbc"
name="Data Source" id="6">

<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="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>

<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="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>

<style name="detail" id="42">

<property name="backgroundColor">#FFFF80</property>

<property name="fontFamily">"Arial"</property>

<property name="fontSize">small</property>

</style>

<style name="headerfooter" id="43">

<property name="backgroundColor">#004080</property>

<property name="fontFamily">"Arial"</property>

<property name="fontSize">small</property>

<property name="fontWeight">bold</property>

<property name="color">#FFFFFF</property>

</style>

<style name="groupheader" id="44">

<property name="backgroundColor">#0080FF</property>

<property name="fontFamily">"Arial"</property>

<property name="fontSize">small</property>

<property name="fontWeight">bold</property>

<property name="color">#FFFFFF</property>

</style>

</styles>

<page-setup>

<simple-master-page name="Simple MasterPage" id="2">

<page-footer>

<text id="3">

<property name="contentType">html</property>

<text-property name="content"><![CDATA[<value-of>testvar + "###"+
testvar2</value-of>]]></text-property>

</text>

</page-footer>

</simple-master-page>

<simple-master-page name="lastpage" id="61">

<page-footer>

<data id="62">

<property name="backgroundColor">#FF8000</property>

<property name="color">#FFFFFF</property>

<list-property name="boundDataColumns">

<structure>

<property name="name">Column Binding</property>

<expression name="expression">"This is the last page footer " +testvar +
" --- " + testvar2;</expression>

<property name="dataType">string</property>

</structure>

</list-property>

<property name="resultSetColumn">Column Binding</property>

</data>

</page-footer>

</simple-master-page>

</page-setup>

<body>

<table id="8">

<property name="pageBreakAfter">avoid</property>

<property name="width">100%</property>

<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>

<structure>

<property name="name">PRODUCTCODE</property>

<expression name="expression">dataSetRow["PRODUCTCODE"]</expression >

<property name="dataType">string</property>

</structure>

<structure>

<property name="name">QUANTITYORDERED</property>

<expression name="expression">dataSetRow["QUANTITYORDERED"]</expression >

<property name="dataType">integer</property>

</structure>

<structure>

<property name="name">PRICEEACH</property>

<expression name="expression">dataSetRow["PRICEEACH"]</expression>

<property name="dataType">float</property>

</structure>

<structure>

<property name="name">ORDERLINENUMBER</property>

<expression name="expression">dataSetRow["ORDERLINENUMBER"]</expression >

<property name="dataType">integer</property>

</structure>

<structure>

<property name="name">Aggregation</property>

<expression name="expression">dataSetRow["QUANTITYORDERED"]</expression >

<property name="dataType">integer</property>

<property name="aggregateFunction">SUM</property>

</structure>

</list-property>

<column id="37"/>

<column id="38"/>

<column id="39"/>

<column id="40"/>

<column id="41"/>

<header>

<row id="9">

<property name="style">headerfooter</property>

<cell id="10">

<label id="11">

<text-property name="text">ORDERNUMBER</text-property>

</label>

</cell>

<cell id="12">

<label id="13">

<text-property name="text">PRODUCTCODE</text-property>

</label>

</cell>

<cell id="14">

<label id="15">

<text-property name="text">QUANTITYORDERED</text-property>

</label>

</cell>

<cell id="16">

<label id="17">

<text-property name="text">PRICEEACH</text-property>

</label>

</cell>

<cell id="18">

<label id="19">

<text-property name="text">ORDERLINENUMBER</text-property>

</label>

</cell>

</row>

</header>

<detail>

<row id="20">

<method name="onCreate"><![CDATA[importPackage(Packages.java.lang)


var tmp = this.getRowData().getColumnValue("QUANTITYORDERED");

var tmp2 = testvar;


testvar = Integer.parseInt(tmp) + Integer.parseInt(tmp2);]]></method>

<property name="style">detail</property>

<cell id="21">

<data id="22">

<property name="resultSetColumn">ORDERNUMBER</property>

</data>

</cell>

<cell id="23">

<data id="24">

<property name="resultSetColumn">PRODUCTCODE</property>

</data>

</cell>

<cell id="25">

<data id="26">

<property name="resultSetColumn">QUANTITYORDERED</property>

</data>

</cell>

<cell id="27">

<data id="28">

<property name="resultSetColumn">PRICEEACH</property>

</data>

</cell>

<cell id="29">

<data id="30">

<property name="resultSetColumn">ORDERLINENUMBER</property>

</data>

</cell>

</row>

</detail>

<footer>

<row id="31">

<property name="style">headerfooter</property>

<cell id="32"/>

<cell id="33"/>

<cell id="34">

<data id="63">

<method name="onCreate"><![CDATA[testvar2 =
this.getRowData().getColumnValue("Aggregation");//this.getValue();]] ></method>

<property name="resultSetColumn">Aggregation</property>

</data>

</cell>

<cell id="35"/>

<cell id="36"/>

</row>

</footer>

</table>

<grid id="45">

<property name="masterPage">lastpage</property>

<property name="pageBreakBefore">avoid</property>

<property name="width">100%</property>

<column id="46"/>

<column id="47"/>

<column id="48"/>

<row id="49">

<cell id="50"/>

<cell id="51"/>

<cell id="52"/>

</row>

<row id="53">

<cell id="54"/>

<cell id="55"/>

<cell id="56"/>

</row>

<row id="57">

<cell id="58"/>

<cell id="59"/>

<cell id="60"/>

</row>

</grid>

</body>

</report>


Steve Nell wrote:
> Jason,
>
> We are still in the evaluation stage and have tested BIRT with about 10 of
> our key reports. This is one of the last unresolved issues. We've
> discussed ways of working around it, but those come with their own set of
> costs. We are open to other approaches even if they are not easy.
>
> We've considered modifying the birt engine, or doing some post processing on
> the pdf file. Any thoughts/ideas you might have are appreciated.
>
> thanks again,
> Steve
>
>
>
>
> "Jason Weathersby" <jasonweathersby@alltel.net> wrote in message
> news:ff5lt6$sic$1@build.eclipse.org...
>> Steve,
>>
>> I do not know of an easy way to do this.
>>
>> Jason
>>
>> Steve Nell wrote:
>>> Jason,
>>>
>>> That did work nicely, but now I have discovered that some of the footer
>>> block needs to include data from the dataset. I have read that
>>> pagemasters cannot interact w/ the data -- so now my question becomes:
>>>
>>> Is there a way to force a table group footer to align to the bottom of
>>> the available space on a page? ( or perhaps expand to fill the
>>> available space on the page )
>>>
>>> thank you,
>>> Steve
>>>
>>>
>>>
>>>
>>>
>>>
>>> "Jason Weathersby" <jasonweathersby@alltel.net> wrote in message
>>> news:ff2udn$4es$1@build.eclipse.org...
>>>> Steve,
>>>>
>>>> I believe there is a bug for this already in bugzilla, but you may want
>>>> to try adding an additional master page. On one have nothing and on the
>>>> second have the footer you want. Add a grid at the bottom of the report
>>>> and set it to your footer master page.
>>>>
>>>> Jason
>>>>
>>>> Steve Nell wrote:
>>>>> I want to print a page footer only on the last page of my report. I
>>>>> see several postings about this and have tried a few approaches, but no
>>>>> success so far. Anyone know if it is possible? Does anyone know if it
>>>>> is not possible?
>>>>>
>>>>> many thanks,
>>>>> Steve Nell
>>>>>
>
>
Re: footer on last page only - revised [message #258874 is a reply to message #258768] Fri, 19 October 2007 17:40 Go to previous messageGo to next message
Steve Nell is currently offline Steve NellFriend
Messages: 11
Registered: July 2009
Junior Member
Jason,

unfortunately no... I had thought about using this approach but discovered
that script values aren't available to the pagemaster until the next page.
So if my footer occurs on the first page ( which is the case most of the
time) it wouldnt display the values I need. If the report was always 2
pages or more, then this approach would work for me ( this is a signature
footer so I am not doing subtotalling -- just showing appropriate names /
titles below the signature lines -- so the values from the first page would
be appropriate ).

Steve



"Jason Weathersby" <jasonweathersby@alltel.net> wrote in message
news:ff8hb7$e41$1@build.eclipse.org...
> Steve,
>
> Take a look at the attached report. It has two master pages. I use
> script to pull data from the main table and use in the page footer. The
> only issue is the page break before the last footer. Would something like
> this meet your needs?
>
> Jason
>
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.15"
> id="1">
>
> <property name="createdBy">Eclipse BIRT Designer Version
> 2.2.1.r221_v20070924 Build &lt;2.2.0.v20070924-1550></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>
>
> <method name="beforeFactory"><![CDATA[importPackage(Packages.java.lang)
>
> testvar = Integer.parseInt(0);
>
> testvar2 = Integer.parseInt(0);]]></method>
>
> <text-property name="displayName">Blank Report</text-property>
>
> <property name="iconFile">/templates/blank_report.gif</property>
>
> <data-sources>
>
> <oda-data-source extensionID="org.eclipse.birt.report.data.oda.jdbc"
> name="Data Source" id="6">
>
> <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="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>
>
> <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="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>
>
> <style name="detail" id="42">
>
> <property name="backgroundColor">#FFFF80</property>
>
> <property name="fontFamily">"Arial"</property>
>
> <property name="fontSize">small</property>
>
> </style>
>
> <style name="headerfooter" id="43">
>
> <property name="backgroundColor">#004080</property>
>
> <property name="fontFamily">"Arial"</property>
>
> <property name="fontSize">small</property>
>
> <property name="fontWeight">bold</property>
>
> <property name="color">#FFFFFF</property>
>
> </style>
>
> <style name="groupheader" id="44">
>
> <property name="backgroundColor">#0080FF</property>
>
> <property name="fontFamily">"Arial"</property>
>
> <property name="fontSize">small</property>
>
> <property name="fontWeight">bold</property>
>
> <property name="color">#FFFFFF</property>
>
> </style>
>
> </styles>
>
> <page-setup>
>
> <simple-master-page name="Simple MasterPage" id="2">
>
> <page-footer>
>
> <text id="3">
>
> <property name="contentType">html</property>
>
> <text-property name="content"><![CDATA[<value-of>testvar + "###"+
> testvar2</value-of>]]></text-property>
>
> </text>
>
> </page-footer>
>
> </simple-master-page>
>
> <simple-master-page name="lastpage" id="61">
>
> <page-footer>
>
> <data id="62">
>
> <property name="backgroundColor">#FF8000</property>
>
> <property name="color">#FFFFFF</property>
>
> <list-property name="boundDataColumns">
>
> <structure>
>
> <property name="name">Column Binding</property>
>
> <expression name="expression">"This is the last page footer " +testvar +
> " --- " + testvar2;</expression>
>
> <property name="dataType">string</property>
>
> </structure>
>
> </list-property>
>
> <property name="resultSetColumn">Column Binding</property>
>
> </data>
>
> </page-footer>
>
> </simple-master-page>
>
> </page-setup>
>
> <body>
>
> <table id="8">
>
> <property name="pageBreakAfter">avoid</property>
>
> <property name="width">100%</property>
>
> <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>
>
> <structure>
>
> <property name="name">PRODUCTCODE</property>
>
> <expression name="expression">dataSetRow["PRODUCTCODE"]</expression >
>
> <property name="dataType">string</property>
>
> </structure>
>
> <structure>
>
> <property name="name">QUANTITYORDERED</property>
>
> <expression name="expression">dataSetRow["QUANTITYORDERED"]</expression >
>
> <property name="dataType">integer</property>
>
> </structure>
>
> <structure>
>
> <property name="name">PRICEEACH</property>
>
> <expression name="expression">dataSetRow["PRICEEACH"]</expression>
>
> <property name="dataType">float</property>
>
> </structure>
>
> <structure>
>
> <property name="name">ORDERLINENUMBER</property>
>
> <expression name="expression">dataSetRow["ORDERLINENUMBER"]</expression >
>
> <property name="dataType">integer</property>
>
> </structure>
>
> <structure>
>
> <property name="name">Aggregation</property>
>
> <expression name="expression">dataSetRow["QUANTITYORDERED"]</expression >
>
> <property name="dataType">integer</property>
>
> <property name="aggregateFunction">SUM</property>
>
> </structure>
>
> </list-property>
>
> <column id="37"/>
>
> <column id="38"/>
>
> <column id="39"/>
>
> <column id="40"/>
>
> <column id="41"/>
>
> <header>
>
> <row id="9">
>
> <property name="style">headerfooter</property>
>
> <cell id="10">
>
> <label id="11">
>
> <text-property name="text">ORDERNUMBER</text-property>
>
> </label>
>
> </cell>
>
> <cell id="12">
>
> <label id="13">
>
> <text-property name="text">PRODUCTCODE</text-property>
>
> </label>
>
> </cell>
>
> <cell id="14">
>
> <label id="15">
>
> <text-property name="text">QUANTITYORDERED</text-property>
>
> </label>
>
> </cell>
>
> <cell id="16">
>
> <label id="17">
>
> <text-property name="text">PRICEEACH</text-property>
>
> </label>
>
> </cell>
>
> <cell id="18">
>
> <label id="19">
>
> <text-property name="text">ORDERLINENUMBER</text-property>
>
> </label>
>
> </cell>
>
> </row>
>
> </header>
>
> <detail>
>
> <row id="20">
>
> <method name="onCreate"><![CDATA[importPackage(Packages.java.lang)
>
>
> var tmp = this.getRowData().getColumnValue("QUANTITYORDERED");
>
> var tmp2 = testvar;
>
>
> testvar = Integer.parseInt(tmp) + Integer.parseInt(tmp2);]]></method>
>
> <property name="style">detail</property>
>
> <cell id="21">
>
> <data id="22">
>
> <property name="resultSetColumn">ORDERNUMBER</property>
>
> </data>
>
> </cell>
>
> <cell id="23">
>
> <data id="24">
>
> <property name="resultSetColumn">PRODUCTCODE</property>
>
> </data>
>
> </cell>
>
> <cell id="25">
>
> <data id="26">
>
> <property name="resultSetColumn">QUANTITYORDERED</property>
>
> </data>
>
> </cell>
>
> <cell id="27">
>
> <data id="28">
>
> <property name="resultSetColumn">PRICEEACH</property>
>
> </data>
>
> </cell>
>
> <cell id="29">
>
> <data id="30">
>
> <property name="resultSetColumn">ORDERLINENUMBER</property>
>
> </data>
>
> </cell>
>
> </row>
>
> </detail>
>
> <footer>
>
> <row id="31">
>
> <property name="style">headerfooter</property>
>
> <cell id="32"/>
>
> <cell id="33"/>
>
> <cell id="34">
>
> <data id="63">
>
> <method name="onCreate"><![CDATA[testvar2 =
> this.getRowData().getColumnValue("Aggregation");//this.getValue();]] ></method>
>
> <property name="resultSetColumn">Aggregation</property>
>
> </data>
>
> </cell>
>
> <cell id="35"/>
>
> <cell id="36"/>
>
> </row>
>
> </footer>
>
> </table>
>
> <grid id="45">
>
> <property name="masterPage">lastpage</property>
>
> <property name="pageBreakBefore">avoid</property>
>
> <property name="width">100%</property>
>
> <column id="46"/>
>
> <column id="47"/>
>
> <column id="48"/>
>
> <row id="49">
>
> <cell id="50"/>
>
> <cell id="51"/>
>
> <cell id="52"/>
>
> </row>
>
> <row id="53">
>
> <cell id="54"/>
>
> <cell id="55"/>
>
> <cell id="56"/>
>
> </row>
>
> <row id="57">
>
> <cell id="58"/>
>
> <cell id="59"/>
>
> <cell id="60"/>
>
> </row>
>
> </grid>
>
> </body>
>
> </report>
>
>
> Steve Nell wrote:
>> Jason,
>>
>> We are still in the evaluation stage and have tested BIRT with about 10
>> of our key reports. This is one of the last unresolved issues. We've
>> discussed ways of working around it, but those come with their own set of
>> costs. We are open to other approaches even if they are not easy.
>>
>> We've considered modifying the birt engine, or doing some post processing
>> on the pdf file. Any thoughts/ideas you might have are appreciated.
>>
>> thanks again,
>> Steve
>>
>>
>>
>>
>> "Jason Weathersby" <jasonweathersby@alltel.net> wrote in message
>> news:ff5lt6$sic$1@build.eclipse.org...
>>> Steve,
>>>
>>> I do not know of an easy way to do this.
>>>
>>> Jason
>>>
>>> Steve Nell wrote:
>>>> Jason,
>>>>
>>>> That did work nicely, but now I have discovered that some of the footer
>>>> block needs to include data from the dataset. I have read that
>>>> pagemasters cannot interact w/ the data -- so now my question becomes:
>>>>
>>>> Is there a way to force a table group footer to align to the bottom of
>>>> the available space on a page? ( or perhaps expand to fill the
>>>> available space on the page )
>>>>
>>>> thank you,
>>>> Steve
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> "Jason Weathersby" <jasonweathersby@alltel.net> wrote in message
>>>> news:ff2udn$4es$1@build.eclipse.org...
>>>>> Steve,
>>>>>
>>>>> I believe there is a bug for this already in bugzilla, but you may
>>>>> want to try adding an additional master page. On one have nothing and
>>>>> on the second have the footer you want. Add a grid at the bottom of
>>>>> the report and set it to your footer master page.
>>>>>
>>>>> Jason
>>>>>
>>>>> Steve Nell wrote:
>>>>>> I want to print a page footer only on the last page of my report. I
>>>>>> see several postings about this and have tried a few approaches, but
>>>>>> no success so far. Anyone know if it is possible? Does anyone know
>>>>>> if it is not possible?
>>>>>>
>>>>>> many thanks,
>>>>>> Steve Nell
>>>>>>
>>
Re: footer on last page only - revised [message #258902 is a reply to message #258874] Sat, 20 October 2007 03:36 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: jasonweathersby.alltel.net

Steve,

You can make every report at least two pages by adding a page break
after the first table. Will this not work?

Jason

Steve Nell wrote:
> Jason,
>
> unfortunately no... I had thought about using this approach but discovered
> that script values aren't available to the pagemaster until the next page.
> So if my footer occurs on the first page ( which is the case most of the
> time) it wouldnt display the values I need. If the report was always 2
> pages or more, then this approach would work for me ( this is a signature
> footer so I am not doing subtotalling -- just showing appropriate names /
> titles below the signature lines -- so the values from the first page would
> be appropriate ).
>
> Steve
>
>
>
> "Jason Weathersby" <jasonweathersby@alltel.net> wrote in message
> news:ff8hb7$e41$1@build.eclipse.org...
>> Steve,
>>
>> Take a look at the attached report. It has two master pages. I use
>> script to pull data from the main table and use in the page footer. The
>> only issue is the page break before the last footer. Would something like
>> this meet your needs?
>>
>> Jason
>>
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>>
>> <report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.15"
>> id="1">
>>
>> <property name="createdBy">Eclipse BIRT Designer Version
>> 2.2.1.r221_v20070924 Build &lt;2.2.0.v20070924-1550></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>
>>
>> <method name="beforeFactory"><![CDATA[importPackage(Packages.java.lang)
>>
>> testvar = Integer.parseInt(0);
>>
>> testvar2 = Integer.parseInt(0);]]></method>
>>
>> <text-property name="displayName">Blank Report</text-property>
>>
>> <property name="iconFile">/templates/blank_report.gif</property>
>>
>> <data-sources>
>>
>> <oda-data-source extensionID="org.eclipse.birt.report.data.oda.jdbc"
>> name="Data Source" id="6">
>>
>> <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="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>
>>
>> <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="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>
>>
>> <style name="detail" id="42">
>>
>> <property name="backgroundColor">#FFFF80</property>
>>
>> <property name="fontFamily">"Arial"</property>
>>
>> <property name="fontSize">small</property>
>>
>> </style>
>>
>> <style name="headerfooter" id="43">
>>
>> <property name="backgroundColor">#004080</property>
>>
>> <property name="fontFamily">"Arial"</property>
>>
>> <property name="fontSize">small</property>
>>
>> <property name="fontWeight">bold</property>
>>
>> <property name="color">#FFFFFF</property>
>>
>> </style>
>>
>> <style name="groupheader" id="44">
>>
>> <property name="backgroundColor">#0080FF</property>
>>
>> <property name="fontFamily">"Arial"</property>
>>
>> <property name="fontSize">small</property>
>>
>> <property name="fontWeight">bold</property>
>>
>> <property name="color">#FFFFFF</property>
>>
>> </style>
>>
>> </styles>
>>
>> <page-setup>
>>
>> <simple-master-page name="Simple MasterPage" id="2">
>>
>> <page-footer>
>>
>> <text id="3">
>>
>> <property name="contentType">html</property>
>>
>> <text-property name="content"><![CDATA[<value-of>testvar + "###"+
>> testvar2</value-of>]]></text-property>
>>
>> </text>
>>
>> </page-footer>
>>
>> </simple-master-page>
>>
>> <simple-master-page name="lastpage" id="61">
>>
>> <page-footer>
>>
>> <data id="62">
>>
>> <property name="backgroundColor">#FF8000</property>
>>
>> <property name="color">#FFFFFF</property>
>>
>> <list-property name="boundDataColumns">
>>
>> <structure>
>>
>> <property name="name">Column Binding</property>
>>
>> <expression name="expression">"This is the last page footer " +testvar +
>> " --- " + testvar2;</expression>
>>
>> <property name="dataType">string</property>
>>
>> </structure>
>>
>> </list-property>
>>
>> <property name="resultSetColumn">Column Binding</property>
>>
>> </data>
>>
>> </page-footer>
>>
>> </simple-master-page>
>>
>> </page-setup>
>>
>> <body>
>>
>> <table id="8">
>>
>> <property name="pageBreakAfter">avoid</property>
>>
>> <property name="width">100%</property>
>>
>> <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>
>>
>> <structure>
>>
>> <property name="name">PRODUCTCODE</property>
>>
>> <expression name="expression">dataSetRow["PRODUCTCODE"]</expression >
>>
>> <property name="dataType">string</property>
>>
>> </structure>
>>
>> <structure>
>>
>> <property name="name">QUANTITYORDERED</property>
>>
>> <expression name="expression">dataSetRow["QUANTITYORDERED"]</expression >
>>
>> <property name="dataType">integer</property>
>>
>> </structure>
>>
>> <structure>
>>
>> <property name="name">PRICEEACH</property>
>>
>> <expression name="expression">dataSetRow["PRICEEACH"]</expression>
>>
>> <property name="dataType">float</property>
>>
>> </structure>
>>
>> <structure>
>>
>> <property name="name">ORDERLINENUMBER</property>
>>
>> <expression name="expression">dataSetRow["ORDERLINENUMBER"]</expression >
>>
>> <property name="dataType">integer</property>
>>
>> </structure>
>>
>> <structure>
>>
>> <property name="name">Aggregation</property>
>>
>> <expression name="expression">dataSetRow["QUANTITYORDERED"]</expression >
>>
>> <property name="dataType">integer</property>
>>
>> <property name="aggregateFunction">SUM</property>
>>
>> </structure>
>>
>> </list-property>
>>
>> <column id="37"/>
>>
>> <column id="38"/>
>>
>> <column id="39"/>
>>
>> <column id="40"/>
>>
>> <column id="41"/>
>>
>> <header>
>>
>> <row id="9">
>>
>> <property name="style">headerfooter</property>
>>
>> <cell id="10">
>>
>> <label id="11">
>>
>> <text-property name="text">ORDERNUMBER</text-property>
>>
>> </label>
>>
>> </cell>
>>
>> <cell id="12">
>>
>> <label id="13">
>>
>> <text-property name="text">PRODUCTCODE</text-property>
>>
>> </label>
>>
>> </cell>
>>
>> <cell id="14">
>>
>> <label id="15">
>>
>> <text-property name="text">QUANTITYORDERED</text-property>
>>
>> </label>
>>
>> </cell>
>>
>> <cell id="16">
>>
>> <label id="17">
>>
>> <text-property name="text">PRICEEACH</text-property>
>>
>> </label>
>>
>> </cell>
>>
>> <cell id="18">
>>
>> <label id="19">
>>
>> <text-property name="text">ORDERLINENUMBER</text-property>
>>
>> </label>
>>
>> </cell>
>>
>> </row>
>>
>> </header>
>>
>> <detail>
>>
>> <row id="20">
>>
>> <method name="onCreate"><![CDATA[importPackage(Packages.java.lang)
>>
>>
>> var tmp = this.getRowData().getColumnValue("QUANTITYORDERED");
>>
>> var tmp2 = testvar;
>>
>>
>> testvar = Integer.parseInt(tmp) + Integer.parseInt(tmp2);]]></method>
>>
>> <property name="style">detail</property>
>>
>> <cell id="21">
>>
>> <data id="22">
>>
>> <property name="resultSetColumn">ORDERNUMBER</property>
>>
>> </data>
>>
>> </cell>
>>
>> <cell id="23">
>>
>> <data id="24">
>>
>> <property name="resultSetColumn">PRODUCTCODE</property>
>>
>> </data>
>>
>> </cell>
>>
>> <cell id="25">
>>
>> <data id="26">
>>
>> <property name="resultSetColumn">QUANTITYORDERED</property>
>>
>> </data>
>>
>> </cell>
>>
>> <cell id="27">
>>
>> <data id="28">
>>
>> <property name="resultSetColumn">PRICEEACH</property>
>>
>> </data>
>>
>> </cell>
>>
>> <cell id="29">
>>
>> <data id="30">
>>
>> <property name="resultSetColumn">ORDERLINENUMBER</property>
>>
>> </data>
>>
>> </cell>
>>
>> </row>
>>
>> </detail>
>>
>> <footer>
>>
>> <row id="31">
>>
>> <property name="style">headerfooter</property>
>>
>> <cell id="32"/>
>>
>> <cell id="33"/>
>>
>> <cell id="34">
>>
>> <data id="63">
>>
>> <method name="onCreate"><![CDATA[testvar2 =
>> this.getRowData().getColumnValue("Aggregation");//this.getValue();]] ></method>
>>
>> <property name="resultSetColumn">Aggregation</property>
>>
>> </data>
>>
>> </cell>
>>
>> <cell id="35"/>
>>
>> <cell id="36"/>
>>
>> </row>
>>
>> </footer>
>>
>> </table>
>>
>> <grid id="45">
>>
>> <property name="masterPage">lastpage</property>
>>
>> <property name="pageBreakBefore">avoid</property>
>>
>> <property name="width">100%</property>
>>
>> <column id="46"/>
>>
>> <column id="47"/>
>>
>> <column id="48"/>
>>
>> <row id="49">
>>
>> <cell id="50"/>
>>
>> <cell id="51"/>
>>
>> <cell id="52"/>
>>
>> </row>
>>
>> <row id="53">
>>
>> <cell id="54"/>
>>
>> <cell id="55"/>
>>
>> <cell id="56"/>
>>
>> </row>
>>
>> <row id="57">
>>
>> <cell id="58"/>
>>
>> <cell id="59"/>
>>
>> <cell id="60"/>
>>
>> </row>
>>
>> </grid>
>>
>> </body>
>>
>> </report>
>>
>>
>> Steve Nell wrote:
>>> Jason,
>>>
>>> We are still in the evaluation stage and have tested BIRT with about 10
>>> of our key reports. This is one of the last unresolved issues. We've
>>> discussed ways of working around it, but those come with their own set of
>>> costs. We are open to other approaches even if they are not easy.
>>>
>>> We've considered modifying the birt engine, or doing some post processing
>>> on the pdf file. Any thoughts/ideas you might have are appreciated.
>>>
>>> thanks again,
>>> Steve
>>>
>>>
>>>
>>>
>>> "Jason Weathersby" <jasonweathersby@alltel.net> wrote in message
>>> news:ff5lt6$sic$1@build.eclipse.org...
>>>> Steve,
>>>>
>>>> I do not know of an easy way to do this.
>>>>
>>>> Jason
>>>>
>>>> Steve Nell wrote:
>>>>> Jason,
>>>>>
>>>>> That did work nicely, but now I have discovered that some of the footer
>>>>> block needs to include data from the dataset. I have read that
>>>>> pagemasters cannot interact w/ the data -- so now my question becomes:
>>>>>
>>>>> Is there a way to force a table group footer to align to the bottom of
>>>>> the available space on a page? ( or perhaps expand to fill the
>>>>> available space on the page )
>>>>>
>>>>> thank you,
>>>>> Steve
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> "Jason Weathersby" <jasonweathersby@alltel.net> wrote in message
>>>>> news:ff2udn$4es$1@build.eclipse.org...
>>>>>> Steve,
>>>>>>
>>>>>> I believe there is a bug for this already in bugzilla, but you may
>>>>>> want to try adding an additional master page. On one have nothing and
>>>>>> on the second have the footer you want. Add a grid at the bottom of
>>>>>> the report and set it to your footer master page.
>>>>>>
>>>>>> Jason
>>>>>>
>>>>>> Steve Nell wrote:
>>>>>>> I want to print a page footer only on the last page of my report. I
>>>>>>> see several postings about this and have tried a few approaches, but
>>>>>>> no success so far. Anyone know if it is possible? Does anyone know
>>>>>>> if it is not possible?
>>>>>>>
>>>>>>> many thanks,
>>>>>>> Steve Nell
>>>>>>>
>
Re: footer on last page only - revised [message #258909 is a reply to message #258902] Sat, 20 October 2007 04:51 Go to previous messageGo to next message
Steve Nell is currently offline Steve NellFriend
Messages: 11
Registered: July 2009
Junior Member
It would function, but I wouldnt want to show it to our customers or our
competitors. It would look very awkward.

Steve


"Jason Weathersby" <jasonweathersby@alltel.net> wrote in message
news:ffbsvr$him$1@build.eclipse.org...
> Steve,
>
> You can make every report at least two pages by adding a page break after
> the first table. Will this not work?
>
> Jason
>
> Steve Nell wrote:
>> Jason,
>>
>> unfortunately no... I had thought about using this approach but
>> discovered that script values aren't available to the pagemaster until
>> the next page. So if my footer occurs on the first page ( which is the
>> case most of the time) it wouldnt display the values I need. If the
>> report was always 2 pages or more, then this approach would work for me
>> ( this is a signature footer so I am not doing subtotalling -- just
>> showing appropriate names / titles below the signature lines -- so the
>> values from the first page would be appropriate ).
>>
>> Steve
>>
>>
>>
>> "Jason Weathersby" <jasonweathersby@alltel.net> wrote in message
>> news:ff8hb7$e41$1@build.eclipse.org...
>>> Steve,
>>>
>>> Take a look at the attached report. It has two master pages. I use
>>> script to pull data from the main table and use in the page footer. The
>>> only issue is the page break before the last footer. Would something
>>> like this meet your needs?
>>>
>>> Jason
>>>
>>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>>
>>> <report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.15"
>>> id="1">
>>>
>>> <property name="createdBy">Eclipse BIRT Designer Version
>>> 2.2.1.r221_v20070924 Build &lt;2.2.0.v20070924-1550></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>
>>>
>>> <method name="beforeFactory"><![CDATA[importPackage(Packages.java.lang)
>>>
>>> testvar = Integer.parseInt(0);
>>>
>>> testvar2 = Integer.parseInt(0);]]></method>
>>>
>>> <text-property name="displayName">Blank Report</text-property>
>>>
>>> <property name="iconFile">/templates/blank_report.gif</property>
>>>
>>> <data-sources>
>>>
>>> <oda-data-source extensionID="org.eclipse.birt.report.data.oda.jdbc"
>>> name="Data Source" id="6">
>>>
>>> <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="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>
>>>
>>> <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="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>
>>>
>>> <style name="detail" id="42">
>>>
>>> <property name="backgroundColor">#FFFF80</property>
>>>
>>> <property name="fontFamily">"Arial"</property>
>>>
>>> <property name="fontSize">small</property>
>>>
>>> </style>
>>>
>>> <style name="headerfooter" id="43">
>>>
>>> <property name="backgroundColor">#004080</property>
>>>
>>> <property name="fontFamily">"Arial"</property>
>>>
>>> <property name="fontSize">small</property>
>>>
>>> <property name="fontWeight">bold</property>
>>>
>>> <property name="color">#FFFFFF</property>
>>>
>>> </style>
>>>
>>> <style name="groupheader" id="44">
>>>
>>> <property name="backgroundColor">#0080FF</property>
>>>
>>> <property name="fontFamily">"Arial"</property>
>>>
>>> <property name="fontSize">small</property>
>>>
>>> <property name="fontWeight">bold</property>
>>>
>>> <property name="color">#FFFFFF</property>
>>>
>>> </style>
>>>
>>> </styles>
>>>
>>> <page-setup>
>>>
>>> <simple-master-page name="Simple MasterPage" id="2">
>>>
>>> <page-footer>
>>>
>>> <text id="3">
>>>
>>> <property name="contentType">html</property>
>>>
>>> <text-property name="content"><![CDATA[<value-of>testvar + "###"+
>>> testvar2</value-of>]]></text-property>
>>>
>>> </text>
>>>
>>> </page-footer>
>>>
>>> </simple-master-page>
>>>
>>> <simple-master-page name="lastpage" id="61">
>>>
>>> <page-footer>
>>>
>>> <data id="62">
>>>
>>> <property name="backgroundColor">#FF8000</property>
>>>
>>> <property name="color">#FFFFFF</property>
>>>
>>> <list-property name="boundDataColumns">
>>>
>>> <structure>
>>>
>>> <property name="name">Column Binding</property>
>>>
>>> <expression name="expression">"This is the last page footer " +testvar +
>>> " --- " + testvar2;</expression>
>>>
>>> <property name="dataType">string</property>
>>>
>>> </structure>
>>>
>>> </list-property>
>>>
>>> <property name="resultSetColumn">Column Binding</property>
>>>
>>> </data>
>>>
>>> </page-footer>
>>>
>>> </simple-master-page>
>>>
>>> </page-setup>
>>>
>>> <body>
>>>
>>> <table id="8">
>>>
>>> <property name="pageBreakAfter">avoid</property>
>>>
>>> <property name="width">100%</property>
>>>
>>> <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>
>>>
>>> <structure>
>>>
>>> <property name="name">PRODUCTCODE</property>
>>>
>>> <expression name="expression">dataSetRow["PRODUCTCODE"]</expression >
>>>
>>> <property name="dataType">string</property>
>>>
>>> </structure>
>>>
>>> <structure>
>>>
>>> <property name="name">QUANTITYORDERED</property>
>>>
>>> <expression name="expression">dataSetRow["QUANTITYORDERED"]</expression >
>>>
>>> <property name="dataType">integer</property>
>>>
>>> </structure>
>>>
>>> <structure>
>>>
>>> <property name="name">PRICEEACH</property>
>>>
>>> <expression name="expression">dataSetRow["PRICEEACH"]</expression>
>>>
>>> <property name="dataType">float</property>
>>>
>>> </structure>
>>>
>>> <structure>
>>>
>>> <property name="name">ORDERLINENUMBER</property>
>>>
>>> <expression name="expression">dataSetRow["ORDERLINENUMBER"]</expression >
>>>
>>> <property name="dataType">integer</property>
>>>
>>> </structure>
>>>
>>> <structure>
>>>
>>> <property name="name">Aggregation</property>
>>>
>>> <expression name="expression">dataSetRow["QUANTITYORDERED"]</expression >
>>>
>>> <property name="dataType">integer</property>
>>>
>>> <property name="aggregateFunction">SUM</property>
>>>
>>> </structure>
>>>
>>> </list-property>
>>>
>>> <column id="37"/>
>>>
>>> <column id="38"/>
>>>
>>> <column id="39"/>
>>>
>>> <column id="40"/>
>>>
>>> <column id="41"/>
>>>
>>> <header>
>>>
>>> <row id="9">
>>>
>>> <property name="style">headerfooter</property>
>>>
>>> <cell id="10">
>>>
>>> <label id="11">
>>>
>>> <text-property name="text">ORDERNUMBER</text-property>
>>>
>>> </label>
>>>
>>> </cell>
>>>
>>> <cell id="12">
>>>
>>> <label id="13">
>>>
>>> <text-property name="text">PRODUCTCODE</text-property>
>>>
>>> </label>
>>>
>>> </cell>
>>>
>>> <cell id="14">
>>>
>>> <label id="15">
>>>
>>> <text-property name="text">QUANTITYORDERED</text-property>
>>>
>>> </label>
>>>
>>> </cell>
>>>
>>> <cell id="16">
>>>
>>> <label id="17">
>>>
>>> <text-property name="text">PRICEEACH</text-property>
>>>
>>> </label>
>>>
>>> </cell>
>>>
>>> <cell id="18">
>>>
>>> <label id="19">
>>>
>>> <text-property name="text">ORDERLINENUMBER</text-property>
>>>
>>> </label>
>>>
>>> </cell>
>>>
>>> </row>
>>>
>>> </header>
>>>
>>> <detail>
>>>
>>> <row id="20">
>>>
>>> <method name="onCreate"><![CDATA[importPackage(Packages.java.lang)
>>>
>>>
>>> var tmp = this.getRowData().getColumnValue("QUANTITYORDERED");
>>>
>>> var tmp2 = testvar;
>>>
>>>
>>> testvar = Integer.parseInt(tmp) + Integer.parseInt(tmp2);]]></method>
>>>
>>> <property name="style">detail</property>
>>>
>>> <cell id="21">
>>>
>>> <data id="22">
>>>
>>> <property name="resultSetColumn">ORDERNUMBER</property>
>>>
>>> </data>
>>>
>>> </cell>
>>>
>>> <cell id="23">
>>>
>>> <data id="24">
>>>
>>> <property name="resultSetColumn">PRODUCTCODE</property>
>>>
>>> </data>
>>>
>>> </cell>
>>>
>>> <cell id="25">
>>>
>>> <data id="26">
>>>
>>> <property name="resultSetColumn">QUANTITYORDERED</property>
>>>
>>> </data>
>>>
>>> </cell>
>>>
>>> <cell id="27">
>>>
>>> <data id="28">
>>>
>>> <property name="resultSetColumn">PRICEEACH</property>
>>>
>>> </data>
>>>
>>> </cell>
>>>
>>> <cell id="29">
>>>
>>> <data id="30">
>>>
>>> <property name="resultSetColumn">ORDERLINENUMBER</property>
>>>
>>> </data>
>>>
>>> </cell>
>>>
>>> </row>
>>>
>>> </detail>
>>>
>>> <footer>
>>>
>>> <row id="31">
>>>
>>> <property name="style">headerfooter</property>
>>>
>>> <cell id="32"/>
>>>
>>> <cell id="33"/>
>>>
>>> <cell id="34">
>>>
>>> <data id="63">
>>>
>>> <method name="onCreate"><![CDATA[testvar2 =
>>> this.getRowData().getColumnValue("Aggregation");//this.getValue();]] ></method>
>>>
>>> <property name="resultSetColumn">Aggregation</property>
>>>
>>> </data>
>>>
>>> </cell>
>>>
>>> <cell id="35"/>
>>>
>>> <cell id="36"/>
>>>
>>> </row>
>>>
>>> </footer>
>>>
>>> </table>
>>>
>>> <grid id="45">
>>>
>>> <property name="masterPage">lastpage</property>
>>>
>>> <property name="pageBreakBefore">avoid</property>
>>>
>>> <property name="width">100%</property>
>>>
>>> <column id="46"/>
>>>
>>> <column id="47"/>
>>>
>>> <column id="48"/>
>>>
>>> <row id="49">
>>>
>>> <cell id="50"/>
>>>
>>> <cell id="51"/>
>>>
>>> <cell id="52"/>
>>>
>>> </row>
>>>
>>> <row id="53">
>>>
>>> <cell id="54"/>
>>>
>>> <cell id="55"/>
>>>
>>> <cell id="56"/>
>>>
>>> </row>
>>>
>>> <row id="57">
>>>
>>> <cell id="58"/>
>>>
>>> <cell id="59"/>
>>>
>>> <cell id="60"/>
>>>
>>> </row>
>>>
>>> </grid>
>>>
>>> </body>
>>>
>>> </report>
>>>
>>>
>>> Steve Nell wrote:
>>>> Jason,
>>>>
>>>> We are still in the evaluation stage and have tested BIRT with about 10
>>>> of our key reports. This is one of the last unresolved issues. We've
>>>> discussed ways of working around it, but those come with their own set
>>>> of costs. We are open to other approaches even if they are not easy.
>>>>
>>>> We've considered modifying the birt engine, or doing some post
>>>> processing on the pdf file. Any thoughts/ideas you might have are
>>>> appreciated.
>>>>
>>>> thanks again,
>>>> Steve
>>>>
>>>>
>>>>
>>>>
>>>> "Jason Weathersby" <jasonweathersby@alltel.net> wrote in message
>>>> news:ff5lt6$sic$1@build.eclipse.org...
>>>>> Steve,
>>>>>
>>>>> I do not know of an easy way to do this.
>>>>>
>>>>> Jason
>>>>>
>>>>> Steve Nell wrote:
>>>>>> Jason,
>>>>>>
>>>>>> That did work nicely, but now I have discovered that some of the
>>>>>> footer block needs to include data from the dataset. I have read
>>>>>> that pagemasters cannot interact w/ the data -- so now my question
>>>>>> becomes:
>>>>>>
>>>>>> Is there a way to force a table group footer to align to the bottom
>>>>>> of the available space on a page? ( or perhaps expand to fill the
>>>>>> available space on the page )
>>>>>>
>>>>>> thank you,
>>>>>> Steve
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> "Jason Weathersby" <jasonweathersby@alltel.net> wrote in message
>>>>>> news:ff2udn$4es$1@build.eclipse.org...
>>>>>>> Steve,
>>>>>>>
>>>>>>> I believe there is a bug for this already in bugzilla, but you may
>>>>>>> want to try adding an additional master page. On one have nothing
>>>>>>> and on the second have the footer you want. Add a grid at the
>>>>>>> bottom of the report and set it to your footer master page.
>>>>>>>
>>>>>>> Jason
>>>>>>>
>>>>>>> Steve Nell wrote:
>>>>>>>> I want to print a page footer only on the last page of my report.
>>>>>>>> I see several postings about this and have tried a few approaches,
>>>>>>>> but no success so far. Anyone know if it is possible? Does anyone
>>>>>>>> know if it is not possible?
>>>>>>>>
>>>>>>>> many thanks,
>>>>>>>> Steve Nell
>>>>>>>>
>>
Re: footer on last page only - revised [message #1716794 is a reply to message #258909] Tue, 08 December 2015 09:25 Go to previous message
Thirumal m is currently offline Thirumal mFriend
Messages: 10
Registered: March 2014
Junior Member
hi Guys,

Anybody found the solution for this problem ?
Previous Topic:Eclipse Birt Report 4.3
Next Topic:Using BIRT Runtime Package in 64-bit Windows 7 with Java 8
Goto Forum:
  


Current Time: Thu Apr 25 09:07:01 GMT 2024

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

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

Back to the top