Hi<br />
<br />
We are using <strong class='bbc'>BIRT 2.5</strong> for developing reports. My report structure contains an outer table and inside the footer of this table, the main table/list is present. This type of outer table is used for customizing the data values for the purpose of Export Data feature.<br />
<br />
The issue here is, when i generate the report in viewer, if the report is supposed to contain 15 pages, it is generated with some 25 pages out of which <span style='color: #0000FF'>first few pages remains empty</span> and after the empty pages, the data is presented. The number of empty pages is dependent on the number of data being generated. Larger the data, more number of empty pages.<br />
<br />
I am not able to attach the report in this forum so am pasting the xml code here.This connects to the sample db. This outer most table is unavoidable in our cases as customizing the values for Export Data feature is an essential functionality for our usage.<br />
<br />
<br />
<?xml version="1.0" encoding="UTF-8"?><br />
<report xmlns="<a class='bbc_url' href='
http://www.eclipse.org/birt/2005/design'>http://www.eclipse.org/birt/2005/design"</a> <br />
<br />
version="3.2.20" id="1"><br />
<property name="createdBy">Eclipse BIRT Designer Version <br />
<br />
2.5.0.v20090603 Build <2.5.0.v20090617-0630></property><br />
<property name="units">in</property><br />
<property name="comments">Copyright (c) 2007 <<Your <br />
<br />
Company Name here>></property><br />
<html-property name="description">Creates a blank report <br />
<br />
with no predefined content.</html-property><br />
<text-property name="displayName">Blank <br />
<br />
Report</text-property><br />
<property <br />
<br />
name="iconFile">/templates/blank_report.gif</property><br />
<property name="layoutPreference">auto layout</property><br />
<parameters><br />
<scalar-parameter name="NewParameter" id="8"><br />
<property name="valueType">dynamic</property><br />
<property name="isRequired">false</property><br />
<property name="dataSetName">Data Set</property><br />
<expression <br />
<br />
name="valueExpr">dataSetRow["CUSTOMERNUMBER"]</expression><br />
<property name="dataType">string</property><br />
<simple-property-list name="defaultValue"><br />
<value type="constant">(All Customers)</value><br />
</simple-property-list><br />
<property name="paramType">simple</property><br />
<property name="controlType">list-box</property><br />
<property name="mustMatch">true</property><br />
<property name="fixedOrder">true</property><br />
<property name="distinct">true</property><br />
<structure name="format"><br />
<property <br />
<br />
name="category">Unformatted</property><br />
</structure><br />
</scalar-parameter><br />
</parameters><br />
<data-sources><br />
<oda-data-source <br />
<br />
extensionID="org.eclipse.birt.report.data.oda.jdbc" name="Data <br />
<br />
Source" id="6"><br />
<property <br />
<br />
name="odaDriverClass">org.eclipse.birt.report.data.oda.sampled<br />
<br />
b.Driver</property><br />
<property <br />
<br />
name="odaURL">jdbc:classicmodels:sampledb</property><br />
<property name="odaUser">ClassicModels</property><br />
</oda-data-source><br />
</data-sources><br />
<data-sets><br />
<oda-data-set <br />
<br />
extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectD<br />
<br />
ataSet" name="Data Set" id="7"><br />
<list-property name="columnHints"><br />
<structure><br />
<property <br />
<br />
name="columnName">CUSTOMERNUMBER</property><br />
<property <br />
<br />
name="displayName">CUSTOMERNUMBER</property><br />
</structure><br />
</list-property><br />
<structure name="cachedMetaData"><br />
<list-property name="resultSet"><br />
<structure><br />
<property name="position">1</property><br />
<property <br />
<br />
name="name">CUSTOMERNUMBER</property><br />
<property <br />
<br />
name="dataType">integer</property><br />
</structure><br />
</list-property><br />
</structure><br />
<property name="dataSource">Data Source</property><br />
<list-property name="resultSet"><br />
<structure><br />
<property name="position">1</property><br />
<property <br />
<br />
name="name">CUSTOMERNUMBER</property><br />
<property <br />
<br />
name="nativeName">CUSTOMERNUMBER</property><br />
<property <br />
<br />
name="dataType">integer</property><br />
<property <br />
<br />
name="nativeDataType">4</property><br />
</structure><br />
</list-property><br />
<xml-property name="queryText"><![CDATA[select <br />
<br />
customernumber<br />
from customers]]></xml-property><br />
<xml-property name="designerValues"><![CDATA[<?xml <br />
<br />
version="1.0" encoding="UTF-8"?><br />
<model:DesignValues <br />
<br />
xmlns:design="<a class='bbc_url' href='
http://www.eclipse.org/datatools/connectivity/od'>http://www.eclipse.org/datatools/connectivity/od</a><br />
<br />
a/design" <br />
<br />
xmlns:model="<a class='bbc_url' href='
http://www.eclipse.org/birt/report/model/adapter/'>http://www.eclipse.org/birt/report/model/adapter/</a><br />
<br />
odaModel"><br />
<Version>1.0</Version><br />
<design:ResultSets derivedMetaData="true"><br />
<design:resultSetDefinitions><br />
<design:resultSetColumns><br />
<design:resultColumnDefinitions><br />
<design:attributes><br />
<design:name>CUSTOMERNUMBER</design:name><br />
<design:position>1</design:position><br />
<br />
<br />
<design:nativeDataTypeCode>4</design:nativeDataTypeCode><br />
<design:precision>10</design:precision><br />
<design:scale>0</design:scale><br />
<design:nullability>Nullable</design:nullability><br />
<design:uiHints><br />
<br />
<br />
<design:displayName>CUSTOMERNUMBER</design:displayName><br />
</design:uiHints><br />
</design:attributes><br />
<design:usageHints><br />
<design:label>CUSTOMERNUMBER</design:label><br />
<design:formattingHints><br />
<design:displaySize>11</design:displaySize><br />
</design:formattingHints><br />
</design:usageHints><br />
</design:resultColumnDefinitions><br />
</design:resultSetColumns><br />
</design:resultSetDefinitions><br />
</design:ResultSets><br />
</model:DesignValues>]]></xml-property><br />
</oda-data-set><br />
<oda-data-set <br />
<br />
extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectD<br />
<br />
ataSet" name="reportdataset" id="10"><br />
<list-property name="columnHints"><br />
<structure><br />
<property <br />
<br />
name="columnName">ORDERNUMBER</property><br />
<property <br />
<br />
name="displayName">ORDERNUMBER</property><br />
</structure><br />
<structure><br />
<property <br />
<br />
name="columnName">ORDERDATE</property><br />
<property <br />
<br />
name="displayName">ORDERDATE</property><br />
</structure><br />
<structure><br />
<property <br />
<br />
name="columnName">REQUIREDDATE</property><br />
<property <br />
<br />
name="displayName">REQUIREDDATE</property><br />
</structure><br />
<structure><br />
<property <br />
<br />
name="columnName">SHIPPEDDATE</property><br />
<property <br />
<br />
name="displayName">SHIPPEDDATE</property><br />
</structure><br />
<structure><br />
<property <br />
<br />
name="columnName">STATUS</property><br />
<property <br />
<br />
name="displayName">STATUS</property><br />
</structure><br />
<structure><br />
<property <br />
<br />
name="columnName">COMMENTS</property><br />
<property <br />
<br />
name="displayName">COMMENTS</property><br />
</structure><br />
<structure><br />
<property <br />
<br />
name="columnName">CUSTOMERNUMBER</property><br />
<property <br />
<br />
name="displayName">CUSTOMERNUMBER</property><br />
</structure><br />
</list-property><br />
<structure name="cachedMetaData"><br />
<list-property name="resultSet"><br />
<structure><br />
<property name="position">1</property><br />
<property <br />
<br />
name="name">ORDERNUMBER</property><br />
<property <br />
<br />
name="dataType">integer</property><br />
</structure><br />
<structure><br />
<property name="position">2</property><br />
<property <br />
<br />
name="name">ORDERDATE</property><br />
<property <br />
<br />
name="dataType">date</property><br />
</structure><br />
<structure><br />
<property name="position">3</property><br />
<property <br />
<br />
name="name">REQUIREDDATE</property><br />
<property <br />
<br />
name="dataType">date</property><br />
</structure><br />
<structure><br />
<property name="position">4</property><br />
<property <br />
<br />
name="name">SHIPPEDDATE</property><br />
<property <br />
<br />
name="dataType">date</property><br />
</structure><br />
<structure><br />
<property name="position">5</property><br />
<property <br />
<br />
name="name">STATUS</property><br />
<property <br />
<br />
name="dataType">string</property><br />
</structure><br />
<structure><br />
<property name="position">6</property><br />
<property <br />
<br />
name="name">COMMENTS</property><br />
<property <br />
<br />
name="dataType">string</property><br />
</structure><br />
<structure><br />
<property name="position">7</property><br />
<property <br />
<br />
name="name">CUSTOMERNUMBER</property><br />
<property <br />
<br />
name="dataType">integer</property><br />
</structure><br />
</list-property><br />
</structure><br />
<method name="beforeOpen"><![CDATA[if( <br />
<br />
params["NewParameter"].value != "(All Customers)" ){<br />
<br />
this.queryText = this.queryText + " where customernumber = " + <br />
<br />
params["NewParameter"].value<br />
}]]></method><br />
<property name="dataSource">Data Source</property><br />
<list-property name="resultSet"><br />
<structure><br />
<property name="position">1</property><br />
<property <br />
<br />
name="name">ORDERNUMBER</property><br />
<property <br />
<br />
name="nativeName">ORDERNUMBER</property><br />
<property <br />
<br />
name="dataType">integer</property><br />
<property <br />
<br />
name="nativeDataType">4</property><br />
</structure><br />
<structure><br />
<property name="position">2</property><br />
<property name="name">ORDERDATE</property><br />
<property <br />
<br />
name="nativeName">ORDERDATE</property><br />
<property name="dataType">date</property><br />
<property <br />
<br />
name="nativeDataType">91</property><br />
</structure><br />
<structure><br />
<property name="position">3</property><br />
<property <br />
<br />
name="name">REQUIREDDATE</property><br />
<property <br />
<br />
name="nativeName">REQUIREDDATE</property><br />
<property name="dataType">date</property><br />
<property <br />
<br />
name="nativeDataType">91</property><br />
</structure><br />
<structure><br />
<property name="position">4</property><br />
<property <br />
<br />
name="name">SHIPPEDDATE</property><br />
<property <br />
<br />
name="nativeName">SHIPPEDDATE</property><br />
<property name="dataType">date</property><br />
<property <br />
<br />
name="nativeDataType">91</property><br />
</structure><br />
<structure><br />
<property name="position">5</property><br />
<property name="name">STATUS</property><br />
<property <br />
<br />
name="nativeName">STATUS</property><br />
<property <br />
<br />
name="dataType">string</property><br />
<property <br />
<br />
name="nativeDataType">12</property><br />
</structure><br />
<structure><br />
<property name="position">6</property><br />
<property name="name">COMMENTS</property><br />
<property <br />
<br />
name="nativeName">COMMENTS</property><br />
<property <br />
<br />
name="dataType">string</property><br />
<property <br />
<br />
name="nativeDataType">12</property><br />
</structure><br />
<structure><br />
<property name="position">7</property><br />
<property <br />
<br />
name="name">CUSTOMERNUMBER</property><br />
<property <br />
<br />
name="nativeName">CUSTOMERNUMBER</property><br />
<property <br />
<br />
name="dataType">integer</property><br />
<property <br />
<br />
name="nativeDataType">4</property><br />
</structure><br />
</list-property><br />
<xml-property name="queryText"><![CDATA[select *<br />
from orders]]></xml-property><br />
</oda-data-set><br />
</data-sets><br />
<styles><br />
<style name="crosstab" id="4"><br />
<property <br />
<br />
name="borderBottomColor">#CCCCCC</property><br />
<property <br />
<br />
name="borderBottomStyle">solid</property><br />
<property name="borderBottomWidth">1pt</property><br />
<property <br />
<br />
name="borderLeftColor">#CCCCCC</property><br />
<property name="borderLeftStyle">solid</property><br />
<property name="borderLeftWidth">1pt</property><br />
<property <br />
<br />
name="borderRightColor">#CCCCCC</property><br />
<property name="borderRightStyle">solid</property><br />
<property name="borderRightWidth">1pt</property><br />
<property name="borderTopColor">#CCCCCC</property><br />
<property name="borderTopStyle">solid</property><br />
<property name="borderTopWidth">1pt</property><br />
</style><br />
<style name="crosstab-cell" id="5"><br />
<property <br />
<br />
name="borderBottomColor">#CCCCCC</property><br />
<property <br />
<br />
name="borderBottomStyle">solid</property><br />
<property name="borderBottomWidth">1pt</property><br />
<property <br />
<br />
name="borderLeftColor">#CCCCCC</property><br />
<property name="borderLeftStyle">solid</property><br />
<property name="borderLeftWidth">1pt</property><br />
<property <br />
<br />
name="borderRightColor">#CCCCCC</property><br />
<property name="borderRightStyle">solid</property><br />
<property name="borderRightWidth">1pt</property><br />
<property name="borderTopColor">#CCCCCC</property><br />
<property name="borderTopStyle">solid</property><br />
<property name="borderTopWidth">1pt</property><br />
</style><br />
<style name="detail" id="92"><br />
<property <br />
<br />
name="backgroundColor">#BACAE2</property><br />
<property name="fontFamily">"Arial"</property><br />
<property name="fontSize">small</property><br />
<property name="paddingTop">0px</property><br />
<property name="paddingLeft">0px</property><br />
<property name="paddingBottom">0px</property><br />
<property name="paddingRight">0px</property><br />
</style><br />
<style name="headerfooter" id="93"><br />
<property <br />
<br />
name="backgroundColor">#004080</property><br />
<property name="fontFamily">"Arial"</property><br />
<property name="fontSize">small</property><br />
<property name="fontWeight">bold</property><br />
<property name="color">#FFFFFF</property><br />
</style><br />
<style name="groupheader" id="94"><br />
<property <br />
<br />
name="backgroundColor">#0080FF</property><br />
<property name="fontFamily">"Arial"</property><br />
<property name="fontSize">small</property><br />
<property name="fontWeight">bold</property><br />
<property name="color">#FFFFFF</property><br />
</style><br />
</styles><br />
<page-setup><br />
<simple-master-page name="Simple MasterPage" id="2"><br />
<property name="topMargin">1in</property><br />
<property name="leftMargin">1.25in</property><br />
<property name="bottomMargin">1in</property><br />
<property name="rightMargin">1.25in</property><br />
</simple-master-page><br />
</page-setup><br />
<body><br />
<table id="95"><br />
<property name="dataSet">reportdataset</property><br />
<list-property name="boundDataColumns"><br />
<structure><br />
<property <br />
<br />
name="name">ORDERNUMBER</property><br />
<expression <br />
<br />
name="expression">dataSetRow["ORDERNUMBER"]</expression><br />
<property <br />
<br />
name="dataType">integer</property><br />
</structure><br />
<structure><br />
<property name="name">ORDERDATE</property><br />
<expression <br />
<br />
name="expression">dataSetRow["ORDERDATE"]</expression><br />
<property name="dataType">date</property><br />
</structure><br />
<structure><br />
<property <br />
<br />
name="name">REQUIREDDATE</property><br />
<expression <br />
<br />
name="expression">dataSetRow["REQUIREDDATE"]</expression><br />
<property name="dataType">date</property><br />
</structure><br />
<structure><br />
<property <br />
<br />
name="name">SHIPPEDDATE</property><br />
<expression <br />
<br />
name="expression">dataSetRow["SHIPPEDDATE"]</expression><br />
<property name="dataType">date</property><br />
</structure><br />
<structure><br />
<property name="name">STATUS</property><br />
<expression <br />
<br />
name="expression">dataSetRow["STATUS"]</expression><br />
<property <br />
<br />
name="dataType">string</property><br />
</structure><br />
<structure><br />
<property name="name">COMMENTS</property><br />
<expression <br />
<br />
name="expression">dataSetRow["COMMENTS"]</expression><br />
<property <br />
<br />
name="dataType">string</property><br />
</structure><br />
<structure><br />
<property <br />
<br />
name="name">CUSTOMERNUMBER</property><br />
<expression <br />
<br />
name="expression">dataSetRow["CUSTOMERNUMBER"]</expression><br />
<property <br />
<br />
name="dataType">integer</property><br />
</structure><br />
</list-property><br />
<column id="102"/><br />
<header><br />
<row id="96"><br />
<cell id="97"/><br />
</row><br />
</header><br />
<detail><br />
<row id="98"><br />
<cell id="99"/><br />
</row><br />
</detail><br />
<footer><br />
<row id="100"><br />
<cell id="101"><br />
<table id="45"><br />
<property <br />
<br />
name="width">100%</property><br />
<property <br />
<br />
name="dataSet">reportdataset</property><br />
<list-property <br />
<br />
name="boundDataColumns"><br />
<structure><br />
<property <br />
<br />
name="name">ORDERNUMBER</property><br />
<expression <br />
<br />
name="expression">dataSetRow["ORDERNUMBER"]</expression><br />
<property <br />
<br />
name="dataType">integer</property><br />
</structure><br />
<structure><br />
<property <br />
<br />
name="name">ORDERDATE</property><br />
<expression <br />
<br />
name="expression">dataSetRow["ORDERDATE"]</expression><br />
<property <br />
<br />
name="dataType">date</property><br />
</structure><br />
<structure><br />
<property <br />
<br />
name="name">REQUIREDDATE</property><br />
<expression <br />
<br />
name="expression">dataSetRow["REQUIREDDATE"]</expression><br />
<property <br />
<br />
name="dataType">date</property><br />
</structure><br />
<structure><br />
<property <br />
<br />
name="name">SHIPPEDDATE</property><br />
<expression <br />
<br />
name="expression">dataSetRow["SHIPPEDDATE"]</expression><br />
<property <br />
<br />
name="dataType">date</property><br />
</structure><br />
<structure><br />
<property <br />
<br />
name="name">STATUS</property><br />
<expression <br />
<br />
name="expression">dataSetRow["STATUS"]</expression><br />
<property <br />
<br />
name="dataType">string</property><br />
</structure><br />
<structure><br />
<property <br />
<br />
name="name">COMMENTS</property><br />
<expression <br />
<br />
name="expression">dataSetRow["COMMENTS"]</expression><br />
<property <br />
<br />
name="dataType">string</property><br />
</structure><br />
<structure><br />
<property <br />
<br />
name="name">CUSTOMERNUMBER</property><br />
<expression <br />
<br />
name="expression">dataSetRow["CUSTOMERNUMBER"]</expression><br />
<property <br />
<br />
name="dataType">integer</property><br />
</structure><br />
</list-property><br />
<property <br />
<br />
name="pageBreakInterval">50</property><br />
<column id="84"/><br />
<column id="85"/><br />
<column id="88"/><br />
<column id="89"/><br />
<column id="90"/><br />
<header><br />
<row id="46"><br />
<property <br />
<br />
name="style">headerfooter</property><br />
<cell id="47"><br />
<label id="48"><br />
<text-property <br />
<br />
name="text">ORDERNUMBER</text-property><br />
</label><br />
</cell><br />
<cell id="49"><br />
<label id="50"><br />
<text-property <br />
<br />
name="text">ORDERDATE</text-property><br />
</label><br />
</cell><br />
<cell id="55"><br />
<label id="56"><br />
<text-property <br />
<br />
name="text">STATUS</text-property><br />
</label><br />
</cell><br />
<cell id="57"><br />
<label id="58"><br />
<text-property <br />
<br />
name="text">COMMENTS</text-property><br />
</label><br />
</cell><br />
<cell id="59"><br />
<label id="60"><br />
<text-property <br />
<br />
name="text">CUSTOMERNUMBER</text-property><br />
</label><br />
</cell><br />
</row><br />
</header><br />
<detail><br />
<row id="61"><br />
<property <br />
<br />
name="style">detail</property><br />
<cell id="62"><br />
<data id="63"><br />
<property <br />
<br />
name="resultSetColumn">ORDERNUMBER</property><br />
</data><br />
</cell><br />
<cell id="64"><br />
<data id="65"><br />
<property <br />
<br />
name="resultSetColumn">ORDERDATE</property><br />
</data><br />
</cell><br />
<cell id="70"><br />
<data id="71"><br />
<property <br />
<br />
name="resultSetColumn">STATUS</property><br />
</data><br />
</cell><br />
<cell id="72"><br />
<data id="73"><br />
<property <br />
<br />
name="resultSetColumn">COMMENTS</property><br />
</data><br />
</cell><br />
<cell id="74"><br />
<data id="75"><br />
<property <br />
<br />
name="resultSetColumn">CUSTOMERNUMBER</property><br />
</data><br />
</cell><br />
</row><br />
</detail><br />
<footer><br />
<row id="76"><br />
<property <br />
<br />
name="style">headerfooter</property><br />
<cell id="77"/><br />
<cell id="78"/><br />
<cell id="81"/><br />
<cell id="82"/><br />
<cell id="83"/><br />
</row><br />
</footer><br />
</table><br />
</cell><br />
</row><br />
</footer><br />
</table><br />
</body><br />
</report><br />
<br />
<br />
I tried to delete the empty header and detail section in the outer table (as we are using only the footer) and it worked. But the problem is all the data from the report is not getting exported to CSV. only the first and the last page data is being exported. so deleting the header and detail did not work out.<br />
Any other solution to get rid of these empty pages? Please advice.<br />
<br />
Thank you<br />
<br />
Warm Regards<br />
Kanya