|
Re: Column wrapping in a table [message #632870 is a reply to message #632865] |
Thu, 14 October 2010 14:25 |
|
Jay,
If you use an running count aggregate on the dataset to get the rownum
(because you can not filter on rownum built in variable) you should be
able to put a filter on each of the tables to do what you want. The
dataset should be cached and reused by each of the tables so it should
not run once for each table. It may run more than once for the two-pass
aggregate but not once for each table. Take a look at the attached
example that has a grid with three tables tied to the same dataset and
uses filters for each table.
Jason
<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.21"
id="1">
<property name="createdBy">Eclipse BIRT Designer Version
2.5.2.v20100208 Build <2.5.2.v20100210-0630></property>
<property name="units">in</property>
<property name="iconFile">/templates/blank_report.gif</property>
<property name="bidiLayoutOrientation">ltr</property>
<property name="imageDPI">96</property>
<data-sources>
<oda-data-source
extensionID="org.eclipse.birt.report.data.oda.jdbc" name="Data Source"
id="7">
<text-property name="displayName"></text-property>
<property
name="odaDriverClass">org.eclipse.birt.report.data.oda.sampledb.Driver </property>
<property name="odaURL">jdbc:classicmodels:sampledb</property>
<property name="odaUser">ClassicModels</property>
<property name="OdaConnProfileName"></property>
</oda-data-source>
</data-sources>
<data-sets>
<oda-data-set
extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet "
name="Data Set" id="8">
<list-property name="computedColumns">
<structure>
<property name="name">rwc</property>
<property name="dataType">integer</property>
<property
name="aggregateFunction">RUNNINGCOUNT</property>
<list-property name="arguments">
<structure>
<property name="name">Expression</property>
<expression
name="value">row["ORDERNUMBER"]</expression>
</structure>
</list-property>
</structure>
</list-property>
<list-property name="columnHints">
<structure>
<property name="columnName">ORDERNUMBER</property>
<text-property
name="displayName">ORDERNUMBER</text-property>
</structure>
<structure>
<property name="columnName">PRODUCTCODE</property>
<text-property
name="displayName">PRODUCTCODE</text-property>
</structure>
<structure>
<property name="columnName">QUANTITYORDERED</property>
<text-property
name="displayName">QUANTITYORDERED</text-property>
</structure>
<structure>
<property name="columnName">PRICEEACH</property>
<text-property
name="displayName">PRICEEACH</text-property>
</structure>
<structure>
<property name="columnName">ORDERLINENUMBER</property>
<text-property
name="displayName">ORDERLINENUMBER</text-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>
<structure>
<property name="position">6</property>
<property name="name">rwc</property>
<property name="dataType">integer</property>
</structure>
</list-property>
</structure>
<property name="dataSource">Data Source</property>
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">ORDERNUMBER</property>
<property name="nativeName">ORDERNUMBER</property>
<property name="dataType">integer</property>
<property name="nativeDataType">4</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">PRODUCTCODE</property>
<property name="nativeName">PRODUCTCODE</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
<property name="position">3</property>
<property name="name">QUANTITYORDERED</property>
<property name="nativeName">QUANTITYORDERED</property>
<property name="dataType">integer</property>
<property name="nativeDataType">4</property>
</structure>
<structure>
<property name="position">4</property>
<property name="name">PRICEEACH</property>
<property name="nativeName">PRICEEACH</property>
<property name="dataType">float</property>
<property name="nativeDataType">8</property>
</structure>
<structure>
<property name="position">5</property>
<property name="name">ORDERLINENUMBER</property>
<property name="nativeName">ORDERLINENUMBER</property>
<property name="dataType">integer</property>
<property name="nativeDataType">5</property>
</structure>
</list-property>
<xml-property name="queryText"><![CDATA[select *
from orderdetails
where ordernumber = 10104
order by orderlinenumber]]></xml-property>
<xml-property name="designerValues"><![CDATA[<?xml
version="1.0" encoding="UTF-8"?>
<model:DesignValues
xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design"
xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
<Version>1.0</Version>
<design:ResultSets derivedMetaData="true">
<design:resultSetDefinitions>
<design:resultSetColumns>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>ORDERNUMBER</design:name>
<design:position>1</design:position>
<design:nativeDataTypeCode>4</design:nativeDataTypeCode>
<design:precision>10</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>ORDERNUMBER</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>ORDERNUMBER</design:label>
<design:formattingHints>
<design:displaySize>11</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>PRODUCTCODE</design:name>
<design:position>2</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>15</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>PRODUCTCODE</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>PRODUCTCODE</design:label>
<design:formattingHints>
<design:displaySize>15</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>QUANTITYORDERED</design:name>
<design:position>3</design:position>
<design:nativeDataTypeCode>4</design:nativeDataTypeCode>
<design:precision>10</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>QUANTITYORDERED</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>QUANTITYORDERED</design:label>
<design:formattingHints>
<design:displaySize>11</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>PRICEEACH</design:name>
<design:position>4</design:position>
<design:nativeDataTypeCode>8</design:nativeDataTypeCode>
<design:precision>15</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>PRICEEACH</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>PRICEEACH</design:label>
<design:formattingHints>
<design:displaySize>22</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>ORDERLINENUMBER</design:name>
<design:position>5</design:position>
<design:nativeDataTypeCode>5</design:nativeDataTypeCode>
<design:precision>5</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>ORDERLINENUMBER</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>ORDERLINENUMBER</design:label>
<design:formattingHints>
<design:displaySize>6</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
</design:resultSetColumns>
<design:criteria/>
</design:resultSetDefinitions>
</design:ResultSets>
</model:DesignValues>]]></xml-property>
</oda-data-set>
</data-sets>
<styles>
<style name="report" id="4">
<property name="fontFamily">sans-serif</property>
<property name="fontSize">10pt</property>
</style>
<style name="crosstab" id="5">
<property name="borderBottomColor">#CCCCCC</property>
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1pt</property>
<property name="borderLeftColor">#CCCCCC</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1pt</property>
<property name="borderRightColor">#CCCCCC</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1pt</property>
<property name="borderTopColor">#CCCCCC</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">1pt</property>
</style>
<style name="crosstab-cell" id="6">
<property name="borderBottomColor">#CCCCCC</property>
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1pt</property>
<property name="borderLeftColor">#CCCCCC</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1pt</property>
<property name="borderRightColor">#CCCCCC</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1pt</property>
<property name="borderTopColor">#CCCCCC</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">1pt</property>
</style>
</styles>
<page-setup>
<simple-master-page name="Simple MasterPage" id="2">
<page-footer>
<text id="3">
<property name="contentType">html</property>
<text-property
name="content"><![CDATA[<value-of>new Date()</value-of>]]></text-property>
</text>
</page-footer>
</simple-master-page>
</page-setup>
<body>
<grid id="9">
<column id="10"/>
<column id="11"/>
<column id="12"/>
<row id="13">
<cell id="14"/>
<cell id="15"/>
<cell id="16"/>
</row>
<row id="17">
<cell id="18">
<table id="99">
<property name="dataSet">Data Set</property>
<list-property name="boundDataColumns">
<structure>
<property
name="name">ORDERNUMBER</property>
<text-property
name="displayName">ORDERNUMBER</text-property>
<expression name="expression"
type="javascript">dataSetRow["ORDERNUMBER"]</expression >
<property
name="dataType">integer</property>
</structure>
<structure>
<property
name="name">PRODUCTCODE</property>
<text-property
name="displayName">PRODUCTCODE</text-property>
<expression name="expression"
type="javascript">dataSetRow["PRODUCTCODE"]</expression >
<property name="dataType">string</property>
</structure>
<structure>
<property
name="name">QUANTITYORDERED</property>
<text-property
name="displayName">QUANTITYORDERED</text-property>
<expression name="expression"
type="javascript">dataSetRow["QUANTITYORDERED"]</expression >
<property
name="dataType">integer</property>
</structure>
<structure>
<property name="name">PRICEEACH</property>
<text-property
name="displayName">PRICEEACH</text-property>
<expression name="expression"
type="javascript">dataSetRow["PRICEEACH"]</expression>
<property name="dataType">float</property>
</structure>
<structure>
<property
name="name">ORDERLINENUMBER</property>
<text-property
name="displayName">ORDERLINENUMBER</text-property>
<expression name="expression"
type="javascript">dataSetRow["ORDERLINENUMBER"]</expression >
<property
name="dataType">integer</property>
</structure>
<structure>
<property name="name">rwc</property>
<text-property
name="displayName">rwc</text-property>
<expression name="expression"
type="javascript">dataSetRow["rwc"]</expression>
<property
name="dataType">integer</property>
</structure>
</list-property>
<list-property name="filter">
<structure>
<property name="operator">eq</property>
<expression name="expr"
type="javascript">(row["rwc"]-1)%3</expression>
<simple-property-list name="value1">
<value>0</value>
</simple-property-list>
</structure>
</list-property>
<column id="123"/>
<column id="124"/>
<column id="125"/>
<column id="126"/>
<header>
<row id="100">
<cell id="101">
<label id="102">
<text-property
name="text">rwc</text-property>
</label>
</cell>
<cell id="103">
<label id="104">
<text-property
name="text">PRODUCTCODE</text-property>
</label>
</cell>
<cell id="105">
<label id="106">
<text-property
name="text">QUANTITYORDERED</text-property>
</label>
</cell>
<cell id="107">
<label id="108">
<text-property
name="text">ORDERLINENUMBER</text-property>
</label>
</cell>
</row>
</header>
<detail>
<row id="109">
<cell id="110">
<data id="111">
<property
name="resultSetColumn">rwc</property>
</data>
</cell>
<cell id="112">
<data id="113">
<property
name="resultSetColumn">PRODUCTCODE</property>
</data>
</cell>
<cell id="114">
<data id="115">
<property
name="resultSetColumn">QUANTITYORDERED</property>
</data>
</cell>
<cell id="116">
<data id="117">
<property
name="resultSetColumn">ORDERLINENUMBER</property>
</data>
</cell>
</row>
</detail>
<footer>
<row id="118">
<cell id="119"/>
<cell id="120"/>
<cell id="121"/>
<cell id="122"/>
</row>
</footer>
</table>
</cell>
<cell id="19">
<table id="71">
<property name="dataSet">Data Set</property>
<list-property name="boundDataColumns">
<structure>
<property
name="name">ORDERNUMBER</property>
<text-property
name="displayName">ORDERNUMBER</text-property>
<expression name="expression"
type="javascript">dataSetRow["ORDERNUMBER"]</expression >
<property
name="dataType">integer</property>
</structure>
<structure>
<property
name="name">PRODUCTCODE</property>
<text-property
name="displayName">PRODUCTCODE</text-property>
<expression name="expression"
type="javascript">dataSetRow["PRODUCTCODE"]</expression >
<property name="dataType">string</property>
</structure>
<structure>
<property
name="name">QUANTITYORDERED</property>
<text-property
name="displayName">QUANTITYORDERED</text-property>
<expression name="expression"
type="javascript">dataSetRow["QUANTITYORDERED"]</expression >
<property
name="dataType">integer</property>
</structure>
<structure>
<property name="name">PRICEEACH</property>
<text-property
name="displayName">PRICEEACH</text-property>
<expression name="expression"
type="javascript">dataSetRow["PRICEEACH"]</expression>
<property name="dataType">float</property>
</structure>
<structure>
<property
name="name">ORDERLINENUMBER</property>
<text-property
name="displayName">ORDERLINENUMBER</text-property>
<expression name="expression"
type="javascript">dataSetRow["ORDERLINENUMBER"]</expression >
<property
name="dataType">integer</property>
</structure>
<structure>
<property name="name">rwc</property>
<text-property
name="displayName">rwc</text-property>
<expression name="expression"
type="javascript">dataSetRow["rwc"]</expression>
<property
name="dataType">integer</property>
</structure>
</list-property>
<list-property name="filter">
<structure>
<property name="operator">eq</property>
<expression name="expr"
type="javascript">(row["rwc"]-2)%3</expression>
<simple-property-list name="value1">
<value>0</value>
</simple-property-list>
</structure>
</list-property>
<column id="95"/>
<column id="96"/>
<column id="97"/>
<column id="98"/>
<header>
<row id="72">
<cell id="73">
<label id="74">
<text-property
name="text">rwc</text-property>
</label>
</cell>
<cell id="75">
<label id="76">
<text-property
name="text">PRODUCTCODE</text-property>
</label>
</cell>
<cell id="77">
<label id="78">
<text-property
name="text">QUANTITYORDERED</text-property>
</label>
</cell>
<cell id="79">
<label id="80">
<text-property
name="text">ORDERLINENUMBER</text-property>
</label>
</cell>
</row>
</header>
<detail>
<row id="81">
<cell id="82">
<data id="83">
<property
name="resultSetColumn">rwc</property>
</data>
</cell>
<cell id="84">
<data id="85">
<property
name="resultSetColumn">PRODUCTCODE</property>
</data>
</cell>
<cell id="86">
<data id="87">
<property
name="resultSetColumn">QUANTITYORDERED</property>
</data>
</cell>
<cell id="88">
<data id="89">
<property
name="resultSetColumn">ORDERLINENUMBER</property>
</data>
</cell>
</row>
</detail>
<footer>
<row id="90">
<cell id="91"/>
<cell id="92"/>
<cell id="93"/>
<cell id="94"/>
</row>
</footer>
</table>
</cell>
<cell id="20">
<table id="25">
<property name="dataSet">Data Set</property>
<list-property name="boundDataColumns">
<structure>
<property
name="name">ORDERNUMBER</property>
<text-property
name="displayName">ORDERNUMBER</text-property>
<expression name="expression"
type="javascript">dataSetRow["ORDERNUMBER"]</expression >
<property
name="dataType">integer</property>
</structure>
<structure>
<property
name="name">PRODUCTCODE</property>
<text-property
name="displayName">PRODUCTCODE</text-property>
<expression name="expression"
type="javascript">dataSetRow["PRODUCTCODE"]</expression >
<property name="dataType">string</property>
</structure>
<structure>
<property
name="name">QUANTITYORDERED</property>
<text-property
name="displayName">QUANTITYORDERED</text-property>
<expression name="expression"
type="javascript">dataSetRow["QUANTITYORDERED"]</expression >
<property
name="dataType">integer</property>
</structure>
<structure>
<property name="name">PRICEEACH</property>
<text-property
name="displayName">PRICEEACH</text-property>
<expression name="expression"
type="javascript">dataSetRow["PRICEEACH"]</expression>
<property name="dataType">float</property>
</structure>
<structure>
<property
name="name">ORDERLINENUMBER</property>
<text-property
name="displayName">ORDERLINENUMBER</text-property>
<expression name="expression"
type="javascript">dataSetRow["ORDERLINENUMBER"]</expression >
<property
name="dataType">integer</property>
</structure>
<structure>
<property name="name">rwc</property>
<text-property
name="displayName">rwc</text-property>
<expression name="expression"
type="javascript">dataSetRow["rwc"]</expression>
<property
name="dataType">integer</property>
</structure>
</list-property>
<list-property name="filter">
<structure>
<property name="operator">eq</property>
<expression name="expr"
type="javascript">(row["rwc"]-3)%3</expression>
<simple-property-list name="value1">
<value>0</value>
</simple-property-list>
</structure>
</list-property>
<column id="68"/>
<column id="60"/>
<column id="61"/>
<column id="63"/>
<header>
<row id="26">
<cell id="65">
<label id="69">
<text-property
name="text">rwc</text-property>
</label>
</cell>
<cell id="29">
<label id="30">
<text-property
name="text">PRODUCTCODE</text-property>
</label>
</cell>
<cell id="31">
<label id="32">
<text-property
name="text">QUANTITYORDERED</text-property>
</label>
</cell>
<cell id="35">
<label id="36">
<text-property
name="text">ORDERLINENUMBER</text-property>
</label>
</cell>
</row>
</header>
<detail>
<row id="39">
<cell id="66">
<data id="70">
<property
name="resultSetColumn">rwc</property>
</data>
</cell>
<cell id="42">
<data id="43">
<property
name="resultSetColumn">PRODUCTCODE</property>
</data>
</cell>
<cell id="44">
<data id="45">
<property
name="resultSetColumn">QUANTITYORDERED</property>
</data>
</cell>
<cell id="48">
<data id="49">
<property
name="resultSetColumn">ORDERLINENUMBER</property>
</data>
</cell>
</row>
</detail>
<footer>
<row id="52">
<cell id="67"/>
<cell id="54"/>
<cell id="55"/>
<cell id="57"/>
</row>
</footer>
</table>
</cell>
</row>
<row id="21">
<cell id="22"/>
<cell id="23"/>
<cell id="24"/>
</row>
</grid>
</body>
</report>
On 10/14/2010 10:10 AM, Jay Jakilinki wrote:
> Hello
>
> Need your help !
>
> I am new to BIRT and this is my first report.
>
> I need to develop a report where a table has 2 columns and has hundreds
> of records. The requirement is to split the rows across columns - for
> example say the 2 columns are Name and Phone #. I need to have a table
> with these 2 columns repeated 4 times (4 column sets). So, the number of
> rows need to be split 4 times.
> If the # of rows is 13, then the first column set will have 4 records (1
> - 4), the second column set will have the next 4 records (5 - 8), the
> third column set will have the next 4 records (9 - 12) and the fourth
> column set will have the last record (13).
>
> What would be the best approach ?
>
> I tried using nested tables - 1 table for each column set and used some
> pagination logic using row["__rownum"] and record count (aggregation
> column binding). But, the query will be executed once for each column
> set i.e. 4 times for each table.
>
> Please advice...
|
|
|
Re: Column wrapping in a table [message #632881 is a reply to message #632870] |
Thu, 14 October 2010 14:51 |
Jay Jakilinki Messages: 11 Registered: October 2010 |
Junior Member |
|
|
Thanks much Jason for your quick response.
I tried it and it works great.
Couple of notes:
- I am using BIRT 2.5.2
- i was able to use row["__rownum"] in the Table filter and it works, but as I am not too intimate with these built in variables yet, I was not too confident. Your suggestion of using the computed recordcount is what I will use, I will change my report.
- as the rows have to go down the table first and then wrap to the next table, I need to put in a different logic. I created an aggregated column binding for the nested table for the total record count and that used that count with some pagination logic.
Where can I find more information about the BIRT builin variables ?
Please check out my attached report and let me know what you think...
<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.21" id="1">
<property name="createdBy">Eclipse BIRT Designer Version 2.5.2.v20100208 Build <2.5.2.v20100210-0630></property>
<property name="units">in</property>
<property name="iconFile">/templates/blank_report.gif</property>
<property name="bidiLayoutOrientation">ltr</property>
<property name="imageDPI">96</property>
<data-sources>
<oda-data-source extensionID="org.eclipse.birt.report.data.oda.jdbc" name="Classic Models" id="7">
<property name="odaDriverClass">org.eclipse.birt.report.data.oda.sampledb.Driver </property>
<property name="odaURL">jdbc:classicmodels:sampledb</property>
<property name="odaUser">ClassicModels</property>
<property name="OdaConnProfileName"></property>
</oda-data-source>
</data-sources>
<data-sets>
<oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet " name="Products" id="8">
<list-property name="columnHints">
<structure>
<property name="columnName">PRODUCTNAME</property>
<text-property name="displayName">PRODUCTNAME</text-property>
</structure>
<structure>
<property name="columnName">PRODUCTCODE</property>
<text-property name="displayName">PRODUCTCODE</text-property>
</structure>
<structure>
<property name="columnName">QUANTITYINSTOCK</property>
<text-property name="displayName">QUANTITYINSTOCK</text-property>
</structure>
</list-property>
<list-property name="parameters">
<structure>
<property name="name">ProductLine</property>
<property name="nativeName"></property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
<property name="position">1</property>
<expression name="defaultValue" type="javascript">"Ships"</expression>
<property name="isOptional">true</property>
<property name="allowNull">true</property>
<property name="isInput">true</property>
<property name="isOutput">false</property>
</structure>
</list-property>
<structure name="cachedMetaData">
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">PRODUCTNAME</property>
<property name="dataType">string</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">QUANTITYINSTOCK</property>
<property name="dataType">integer</property>
</structure>
</list-property>
</structure>
<property name="dataSource">Classic Models</property>
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">PRODUCTNAME</property>
<property name="nativeName">PRODUCTNAME</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</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">QUANTITYINSTOCK</property>
<property name="nativeName">QUANTITYINSTOCK</property>
<property name="dataType">integer</property>
<property name="nativeDataType">4</property>
</structure>
</list-property>
<xml-property name="queryText"><![CDATA[select CLASSICMODELS.PRODUCTS.PRODUCTNAME, CLASSICMODELS.PRODUCTS.PRODUCTCODE, CLASSICMODELS.PRODUCTS.QUANTITYINSTOCK
from CLASSICMODELS.PRODUCTS
where CLASSICMODELS.PRODUCTS.PRODUCTLINE = ?]]></xml-property>
<xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
<Version>1.0</Version>
<design:DataSetParameters>
<design:parameterDefinitions>
<design:inOutMode>In</design:inOutMode>
<design:attributes>
<design:name></design:name>
<design:position>1</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>50</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
</design:attributes>
<design:inputAttributes>
<design:elementAttributes>
<design:optional>true</design:optional>
</design:elementAttributes>
</design:inputAttributes>
</design:parameterDefinitions>
</design:DataSetParameters>
<design:ResultSets derivedMetaData="true">
<design:resultSetDefinitions>
<design:resultSetColumns>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>PRODUCTNAME</design:name>
<design:position>1</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>70</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>PRODUCTNAME</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>PRODUCTNAME</design:label>
<design:formattingHints>
<design:displaySize>70</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>QUANTITYINSTOCK</design:name>
<design:position>2</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>QUANTITYINSTOCK</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>QUANTITYINSTOCK</design:label>
<design:formattingHints>
<design:displaySize>11</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
</design:resultSetColumns>
<design:criteria/>
</design:resultSetDefinitions>
</design:ResultSets>
</model:DesignValues>]]></xml-property>
</oda-data-set>
<oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet " name="Product Line" id="248">
<list-property name="columnHints">
<structure>
<property name="columnName">PRODUCTLINE</property>
<text-property name="displayName">PRODUCTLINE</text-property>
</structure>
</list-property>
<structure name="cachedMetaData">
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">PRODUCTLINE</property>
<property name="dataType">string</property>
</structure>
</list-property>
</structure>
<property name="dataSource">Classic Models</property>
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">PRODUCTLINE</property>
<property name="nativeName">PRODUCTLINE</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
</list-property>
<xml-property name="queryText"><![CDATA[select CLASSICMODELS.PRODUCTLINES.PRODUCTLINE
from CLASSICMODELS.PRODUCTLINES]]></xml-property>
<xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
<Version>1.0</Version>
<design:ResultSets derivedMetaData="true">
<design:resultSetDefinitions>
<design:resultSetColumns>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>PRODUCTLINE</design:name>
<design:position>1</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>50</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>PRODUCTLINE</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>PRODUCTLINE</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
</design:resultSetColumns>
<design:criteria/>
</design:resultSetDefinitions>
</design:ResultSets>
</model:DesignValues>]]></xml-property>
</oda-data-set>
<oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet " name="All Products" id="337">
<list-property name="columnHints">
<structure>
<property name="columnName">PRODUCTLINE</property>
<text-property name="displayName">PRODUCTLINE</text-property>
</structure>
<structure>
<property name="columnName">PRODUCTLINE_COUNT</property>
<text-property name="displayName">PRODUCTLINE_COUNT</text-property>
</structure>
<structure>
<property name="columnName">PRODUCTLINE_QUANTITYINSTOCK</property>
<text-property name="displayName">PRODUCTLINE_QUANTITYINSTOCK</text-property >
</structure>
</list-property>
<structure name="cachedMetaData">
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">PRODUCTLINE</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">PRODUCTLINE_COUNT</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">3</property>
<property name="name">PRODUCTLINE_QUANTITYINSTOCK</property>
<property name="dataType">integer</property>
</structure>
</list-property>
</structure>
<property name="dataSource">Classic Models</property>
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">PRODUCTLINE</property>
<property name="nativeName">PRODUCTLINE</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">PRODUCTLINE_COUNT</property>
<property name="nativeName">PRODUCTLINE_COUNT</property>
<property name="dataType">integer</property>
<property name="nativeDataType">4</property>
</structure>
<structure>
<property name="position">3</property>
<property name="name">PRODUCTLINE_QUANTITYINSTOCK</property>
<property name="nativeName">PRODUCTLINE_QUANTITYINSTOCK</property>
<property name="dataType">integer</property>
<property name="nativeDataType">4</property>
</structure>
</list-property>
<xml-property name="queryText"><![CDATA[select CLASSICMODELS.PRODUCTS.PRODUCTLINE, count(1) PRODUCTLINE_COUNT, sum(CLASSICMODELS.PRODUCTS.QUANTITYINSTOCK) PRODUCTLINE_QUANTITYINSTOCK
from CLASSICMODELS.PRODUCTS
group by CLASSICMODELS.PRODUCTS.PRODUCTLINE]]></xml-property>
<xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
<Version>1.0</Version>
<design:ResultSets derivedMetaData="true">
<design:resultSetDefinitions>
<design:resultSetColumns>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>PRODUCTCODE</design:name>
<design:position>1</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>PRODUCTNAME</design:name>
<design:position>2</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>70</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>PRODUCTNAME</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>PRODUCTNAME</design:label>
<design:formattingHints>
<design:displaySize>70</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>PRODUCTLINE</design:name>
<design:position>3</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>50</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>PRODUCTLINE</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>PRODUCTLINE</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>PRODUCTSCALE</design:name>
<design:position>4</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>10</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>PRODUCTSCALE</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>PRODUCTSCALE</design:label>
<design:formattingHints>
<design:displaySize>10</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>PRODUCTVENDOR</design:name>
<design:position>5</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>50</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>PRODUCTVENDOR</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>PRODUCTVENDOR</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>PRODUCTDESCRIPTION</design:name>
<design:position>6</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>32700</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>PRODUCTDESCRIPTION</design:displayName >
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>PRODUCTDESCRIPTION</design:label>
<design:formattingHints>
<design:displaySize>32700</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>QUANTITYINSTOCK</design:name>
<design:position>7</design:position>
<design:nativeDataTypeCode>4</design:nativeDataTypeCode>
<design:precision>10</design:precision>
<design:scale>0</design:scale>
<design:nullability>Nullable</design:nullability>
<design:uiHints>
<design:displayName>QUANTITYINSTOCK</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>QUANTITYINSTOCK</design:label>
<design:formattingHints>
<design:displaySize>11</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>BUYPRICE</design:name>
<design:position>8</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>BUYPRICE</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>BUYPRICE</design:label>
<design:formattingHints>
<design:displaySize>22</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>MSRP</design:name>
<design:position>9</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>MSRP</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>MSRP</design:label>
<design:formattingHints>
<design:displaySize>22</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
</design:resultSetColumns>
<design:criteria/>
</design:resultSetDefinitions>
</design:ResultSets>
</model:DesignValues>]]></xml-property>
</oda-data-set>
</data-sets>
<styles>
<style name="report" id="4">
<property name="fontFamily">sans-serif</property>
<property name="fontSize">10pt</property>
</style>
<style name="crosstab" id="5">
<property name="borderBottomColor">#CCCCCC</property>
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1pt</property>
<property name="borderLeftColor">#CCCCCC</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1pt</property>
<property name="borderRightColor">#CCCCCC</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1pt</property>
<property name="borderTopColor">#CCCCCC</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">1pt</property>
</style>
<style name="crosstab-cell" id="6">
<property name="borderBottomColor">#CCCCCC</property>
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1pt</property>
<property name="borderLeftColor">#CCCCCC</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1pt</property>
<property name="borderRightColor">#CCCCCC</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1pt</property>
<property name="borderTopColor">#CCCCCC</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">1pt</property>
</style>
<style name="group1-footer" id="75">
<property name="backgroundColor">#859CA1</property>
<property name="fontFamily">sans-serif</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#F5F5DC</property>
</style>
<style name="group1-header" id="74">
<property name="backgroundColor">#859CA1</property>
<property name="fontFamily">sans-serif</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#F5F5DC</property>
</style>
<style name="table-detail" id="73">
<property name="backgroundColor">#DEDCD3</property>
<property name="fontFamily">sans-serif</property>
<property name="fontSize">x-small</property>
<property name="color">#1C515A</property>
<property name="borderBottomColor">#859CA1</property>
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">thin</property>
<property name="borderLeftColor">#859CA1</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">thin</property>
<property name="borderRightColor">#859CA1</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">thin</property>
<property name="borderTopColor">#859CA1</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">thin</property>
</style>
<style name="table-footer" id="71">
<property name="backgroundColor">#5C6C7B</property>
<property name="fontFamily">sans-serif</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#DEDCD3</property>
</style>
<style name="table-header" id="72">
<property name="backgroundColor">#5C6C7B</property>
<property name="fontFamily">sans-serif</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#DEDCD3</property>
</style>
<style name="sub-total" id="335">
<property name="fontSize">smaller</property>
<property name="fontWeight">bold</property>
<property name="textUnderline">none</property>
</style>
<style name="Total" id="340">
<property name="backgroundColor">#FF8000</property>
<property name="fontSize">smaller</property>
<property name="fontWeight">bold</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>new Date()</value-of>]]></text-property>
</text>
</page-footer>
</simple-master-page>
</page-setup>
<body>
<grid id="296">
<column id="297"/>
<row id="298">
<cell id="299">
<table name="Outer Table" id="113">
<property name="dataSet">All Products</property>
<list-property name="boundDataColumns">
<structure>
<property name="name">PRODUCTLINE</property>
<expression name="expression" type="javascript">dataSetRow["PRODUCTLINE"]</expression >
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">PRODUCTLINE_COUNT</property>
<expression name="expression" type="javascript">dataSetRow["PRODUCTLINE_COUNT"]</expression >
<property name="dataType">integer</property>
</structure>
<structure>
<property name="name">PRODUCTLINE_QUANTITYINSTOCK</property>
<expression name="expression" type="javascript">dataSetRow["PRODUCTLINE_QUANTITYINSTOCK "]</expression>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="name">Total</property>
<expression name="expression" type="javascript">row["PRODUCTLINE_QUANTITYINSTOCK"]</expression >
<property name="dataType">integer</property>
</structure>
<structure>
<property name="name">Count</property>
<expression name="expression" type="javascript">"Count : " + row["PRODUCTLINE_COUNT"]</expression>
<property name="dataType">string</property>
</structure>
</list-property>
<list-property name="sort">
<structure>
<expression name="key" type="javascript">row["PRODUCTLINE"]</expression>
<property name="direction">asc</property>
<property name="strength">-1</property>
</structure>
</list-property>
<column id="132"/>
<column id="133"/>
<column id="134"/>
<column id="135"/>
<header>
<row id="114">
<cell id="115"/>
<cell id="116"/>
<cell id="117"/>
<cell id="118"/>
</row>
</header>
<group id="341">
<property name="groupName">ProductLine Group</property>
<property name="interval">none</property>
<property name="sortDirection">asc</property>
<expression name="keyExpr" type="javascript">row["PRODUCTLINE"]</expression>
<structure name="toc">
<expression name="expressionValue" type="javascript">row["PRODUCTLINE"]</expression>
</structure>
<property name="repeatHeader">true</property>
<property name="hideDetail">false</property>
<property name="pageBreakAfter">auto</property>
<property name="pageBreakBefore">auto</property>
<property name="pageBreakInside">auto</property>
<header>
<row id="342">
<property name="backgroundColor">#FFFF8C</property>
<cell id="343">
<data id="352">
<property name="resultSetColumn">PRODUCTLINE</property>
</data>
</cell>
<cell id="344">
<data id="364">
<property name="resultSetColumn">Count</property>
</data>
</cell>
<cell id="345"/>
<cell id="346"/>
</row>
</header>
<footer>
<row id="347">
<cell id="348"/>
<cell id="349"/>
<cell id="350"/>
<cell id="351">
<grid id="355">
<column id="356"/>
<column id="357"/>
<row id="358">
<property name="style">Total</property>
<cell id="359">
<label id="363">
<text-property name="text">Total</text-property>
</label>
</cell>
<cell id="360">
<data id="361">
<structure name="numberFormat">
<property name="category">Fixed</property>
<property name="pattern">#,##0</property>
</structure>
<property name="textAlign">right</property>
<list-property name="mapRules">
<structure>
<expression name="testExpr" type="javascript">row["Total"]</expression>
<property name="operator">is-null</property>
<text-property name="display">0</text-property>
</structure>
</list-property>
<property name="resultSetColumn">Total</property>
</data>
</cell>
</row>
</grid>
</cell>
</row>
</footer>
</group>
<detail>
<row id="120">
<cell id="121">
<table name="Inner Table 1" id="137">
<property name="dataSet">Products</property>
<list-property name="paramBindings">
<structure>
<property name="paramName">ProductLine</property>
<expression name="expression" type="javascript">row["PRODUCTLINE"]</expression>
</structure>
</list-property>
<list-property name="boundDataColumns">
<structure>
<property name="name">PRODUCTNAME</property>
<expression name="expression" type="javascript">dataSetRow["PRODUCTCODE"]</expression >
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">QUANTITYINSTOCK</property>
<expression name="expression" type="javascript">dataSetRow["QUANTITYINSTOCK"]</expression >
<property name="dataType">integer</property>
</structure>
<structure>
<property name="name">Product Count</property>
<property name="dataType">integer</property>
<property name="aggregateFunction">COUNT</property>
<list-property name="arguments">
<structure>
<property name="name">Expression</property>
<expression name="value" type="javascript">row["PRODUCTNAME"]</expression>
</structure>
</list-property>
</structure>
<structure>
<property name="name">Quantity Sub Total</property>
<property name="dataType">integer</property>
<property name="aggregateFunction">SUM</property>
<list-property name="arguments">
<structure>
<property name="name">Expression</property>
<expression name="value" type="javascript">row["QUANTITYINSTOCK"]</expression>
</structure>
</list-property>
</structure>
<structure>
<property name="name">Column Binding</property>
<expression name="expression" type="javascript">row["Quantity Sub Total"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">SubTotal</property>
<expression name="expression" type="javascript">row["Quantity Sub Total"]</expression>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="name">ROWNUM</property>
<expression name="expression" type="javascript">row.__rownum</expression>
<property name="dataType">integer</property>
</structure>
</list-property>
<list-property name="sort">
<structure>
<expression name="key" type="javascript">row["PRODUCTNAME"]</expression>
<property name="direction">asc</property>
<property name="strength">-1</property>
</structure>
</list-property>
<list-property name="filter">
<structure>
<property name="operator">le</property>
<expression name="expr" type="javascript">row["__rownum"]</expression>
<simple-property-list name="value1">
<value>Math.floor((row["Product Count"] - 1) / 4)</value>
</simple-property-list>
</structure>
</list-property>
<column id="147"/>
<column id="148"/>
<header>
<row id="138">
<cell id="139">
<label id="201">
<text-property name="text">Name</text-property>
</label>
</cell>
<cell id="140">
<label id="203">
<text-property name="text">Quantity</text-property>
</label>
</cell>
</row>
</header>
<detail>
<row id="141">
<cell id="142">
<data id="202">
<property name="resultSetColumn">PRODUCTNAME</property>
</data>
</cell>
<cell id="143">
<data id="204">
<structure name="numberFormat">
<property name="category">Fixed</property>
<property name="pattern">#,##0</property>
</structure>
<property name="textAlign">right</property>
<property name="resultSetColumn">QUANTITYINSTOCK</property>
</data>
</cell>
</row>
</detail>
</table>
</cell>
<cell id="122">
<table name="Inner Table 2" id="149">
<property name="dataSet">Products</property>
<list-property name="paramBindings">
<structure>
<property name="paramName">ProductLine</property>
<expression name="expression" type="javascript">row["PRODUCTLINE"]</expression>
</structure>
</list-property>
<list-property name="boundDataColumns">
<structure>
<property name="name">PRODUCTNAME</property>
<expression name="expression" type="javascript">dataSetRow["PRODUCTCODE"]</expression >
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">QUANTITYINSTOCK</property>
<expression name="expression" type="javascript">dataSetRow["QUANTITYINSTOCK"]</expression >
<property name="dataType">integer</property>
</structure>
<structure>
<property name="name">Product Count</property>
<property name="dataType">integer</property>
<property name="aggregateFunction">COUNT</property>
<list-property name="arguments">
<structure>
<property name="name">Expression</property>
<expression name="value" type="javascript">
[Updated on: Thu, 14 October 2010 15:25] Report message to a moderator
|
|
|
Re: Column wrapping in a table [message #632935 is a reply to message #632881] |
Thu, 14 October 2010 17:29 |
|
Jay,
Can you email me the report. Post did not come through.
jasonweathersby at windstream dot net.
Jason
On 10/14/2010 10:51 AM, Jay Jakilinki wrote:
> Thanks much Jason for your quick response.
>
> I tried it and it works great.
>
> Couple of notes:
> - i was able to use row["__rownum"] in the Table filter and it works,
> but as I am not too intimate with these built in variables yet, I was
> not too confident. Your suggestion of using the computed recordcount is
> what I will use, I will change my report.
> - as the rows have to go down the table first and then wrap to the next
> table, I need to put in a different logic. I created an aggregated
> column binding for the nested table for the total record count and that
> used that count with some pagination logic.
>
>
> Where can I find more information about the BIRT builin variables ?
>
> Please check out my attached report and let me know what you think...
>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.21"
> id="1">
> <property name="createdBy">Eclipse BIRT Designer Version 2.5.2.v20100208
> Build <2.5.2.v20100210-0630></property>
> <property name="units">in</property>
> <property name="iconFile">/templates/blank_report.gif</property>
> <property name="bidiLayoutOrientation">ltr</property>
> <property name="imageDPI">96</property>
> <data-sources>
> <oda-data-source extensionID="org.eclipse.birt.report.data.oda.jdbc"
> name="Classic Models" id="7">
> <property
> name="odaDriverClass">org.eclipse.birt.report.data.oda.sampledb.Driver </property>
>
> <property name="odaURL">jdbc:classicmodels:sampledb</property>
> <property name="odaUser">ClassicModels</property>
> <property name="OdaConnProfileName"></property>
> </oda-data-source>
> </data-sources>
> <data-sets>
> <oda-data-set
> extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet "
> name="Products" id="8">
> <list-property name="columnHints">
> <structure>
> <property name="columnName">PRODUCTNAME</property>
> <text-property name="displayName">PRODUCTNAME</text-property>
> </structure>
> <structure>
> <property name="columnName">PRODUCTCODE</property>
> <text-property name="displayName">PRODUCTCODE</text-property>
> </structure>
> <structure>
> <property name="columnName">QUANTITYINSTOCK</property>
> <text-property name="displayName">QUANTITYINSTOCK</text-property>
> </structure>
> </list-property>
> <list-property name="parameters">
> <structure>
> <property name="name">ProductLine</property>
> <property name="nativeName"></property>
> <property name="dataType">string</property>
> <property name="nativeDataType">12</property>
> <property name="position">1</property>
> <expression name="defaultValue" type="javascript">"Ships"</expression>
> <property name="isOptional">true</property>
> <property name="allowNull">true</property>
> <property name="isInput">true</property>
> <property name="isOutput">false</property>
> </structure>
> </list-property>
> <structure name="cachedMetaData">
> <list-property name="resultSet">
> <structure>
> <property name="position">1</property>
> <property name="name">PRODUCTNAME</property>
> <property name="dataType">string</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">QUANTITYINSTOCK</property>
> <property name="dataType">integer</property>
> </structure>
> </list-property>
> </structure>
> <property name="dataSource">Classic Models</property>
> <list-property name="resultSet">
> <structure>
> <property name="position">1</property>
> <property name="name">PRODUCTNAME</property>
> <property name="nativeName">PRODUCTNAME</property>
> <property name="dataType">string</property>
> <property name="nativeDataType">12</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">QUANTITYINSTOCK</property>
> <property name="nativeName">QUANTITYINSTOCK</property>
> <property name="dataType">integer</property>
> <property name="nativeDataType">4</property>
> </structure>
> </list-property>
> <xml-property name="queryText"><![CDATA[select
> CLASSICMODELS.PRODUCTS.PRODUCTNAME, CLASSICMODELS.PRODUCTS.PRODUCTCODE,
> CLASSICMODELS.PRODUCTS.QUANTITYINSTOCK
> from CLASSICMODELS.PRODUCTS
> where CLASSICMODELS.PRODUCTS.PRODUCTLINE = ?]]></xml-property>
> <xml-property name="designerValues"><![CDATA[<?xml version="1.0"
> encoding="UTF-8"?>
> <model:DesignValues
> xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design"
> xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
> <Version>1.0</Version>
> <design:DataSetParameters>
> <design:parameterDefinitions>
> <design:inOutMode>In</design:inOutMode>
> <design:attributes>
> <design:name></design:name>
> <design:position>1</design:position>
> <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
> <design:precision>50</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> </design:attributes>
> <design:inputAttributes>
> <design:elementAttributes>
> <design:optional>true</design:optional>
> </design:elementAttributes>
> </design:inputAttributes>
> </design:parameterDefinitions>
> </design:DataSetParameters>
> <design:ResultSets derivedMetaData="true">
> <design:resultSetDefinitions>
> <design:resultSetColumns>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>PRODUCTNAME</design:name>
> <design:position>1</design:position>
> <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
> <design:precision>70</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>PRODUCTNAME</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>PRODUCTNAME</design:label>
> <design:formattingHints>
> <design:displaySize>70</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>QUANTITYINSTOCK</design:name>
> <design:position>2</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>QUANTITYINSTOCK</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>QUANTITYINSTOCK</design:label>
> <design:formattingHints>
> <design:displaySize>11</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> </design:resultSetColumns>
> <design:criteria/>
> </design:resultSetDefinitions>
> </design:ResultSets>
> </model:DesignValues>]]></xml-property>
> </oda-data-set>
> <oda-data-set
> extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet "
> name="Product Line" id="248">
> <list-property name="columnHints">
> <structure>
> <property name="columnName">PRODUCTLINE</property>
> <text-property name="displayName">PRODUCTLINE</text-property>
> </structure>
> </list-property>
> <structure name="cachedMetaData">
> <list-property name="resultSet">
> <structure>
> <property name="position">1</property>
> <property name="name">PRODUCTLINE</property>
> <property name="dataType">string</property>
> </structure>
> </list-property>
> </structure>
> <property name="dataSource">Classic Models</property>
> <list-property name="resultSet">
> <structure>
> <property name="position">1</property>
> <property name="name">PRODUCTLINE</property>
> <property name="nativeName">PRODUCTLINE</property>
> <property name="dataType">string</property>
> <property name="nativeDataType">12</property>
> </structure>
> </list-property>
> <xml-property name="queryText"><![CDATA[select
> CLASSICMODELS.PRODUCTLINES.PRODUCTLINE
> from CLASSICMODELS.PRODUCTLINES]]></xml-property>
> <xml-property name="designerValues"><![CDATA[<?xml version="1.0"
> encoding="UTF-8"?>
> <model:DesignValues
> xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design"
> xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
> <Version>1.0</Version>
> <design:ResultSets derivedMetaData="true">
> <design:resultSetDefinitions>
> <design:resultSetColumns>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>PRODUCTLINE</design:name>
> <design:position>1</design:position>
> <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
> <design:precision>50</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>PRODUCTLINE</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>PRODUCTLINE</design:label>
> <design:formattingHints>
> <design:displaySize>50</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> </design:resultSetColumns>
> <design:criteria/>
> </design:resultSetDefinitions>
> </design:ResultSets>
> </model:DesignValues>]]></xml-property>
> </oda-data-set>
> <oda-data-set
> extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet "
> name="All Products" id="337">
> <list-property name="columnHints">
> <structure>
> <property name="columnName">PRODUCTLINE</property>
> <text-property name="displayName">PRODUCTLINE</text-property>
> </structure>
> <structure>
> <property name="columnName">PRODUCTLINE_COUNT</property>
> <text-property name="displayName">PRODUCTLINE_COUNT</text-property>
> </structure>
> <structure>
> <property name="columnName">PRODUCTLINE_QUANTITYINSTOCK</property>
> <text-property
> name="displayName">PRODUCTLINE_QUANTITYINSTOCK</text-property >
> </structure>
> </list-property>
> <structure name="cachedMetaData">
> <list-property name="resultSet">
> <structure>
> <property name="position">1</property>
> <property name="name">PRODUCTLINE</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">2</property>
> <property name="name">PRODUCTLINE_COUNT</property>
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="position">3</property>
> <property name="name">PRODUCTLINE_QUANTITYINSTOCK</property>
> <property name="dataType">integer</property>
> </structure>
> </list-property>
> </structure>
> <property name="dataSource">Classic Models</property>
> <list-property name="resultSet">
> <structure>
> <property name="position">1</property>
> <property name="name">PRODUCTLINE</property>
> <property name="nativeName">PRODUCTLINE</property>
> <property name="dataType">string</property>
> <property name="nativeDataType">12</property>
> </structure>
> <structure>
> <property name="position">2</property>
> <property name="name">PRODUCTLINE_COUNT</property>
> <property name="nativeName">PRODUCTLINE_COUNT</property>
> <property name="dataType">integer</property>
> <property name="nativeDataType">4</property>
> </structure>
> <structure>
> <property name="position">3</property>
> <property name="name">PRODUCTLINE_QUANTITYINSTOCK</property>
> <property name="nativeName">PRODUCTLINE_QUANTITYINSTOCK</property>
> <property name="dataType">integer</property>
> <property name="nativeDataType">4</property>
> </structure>
> </list-property>
> <xml-property name="queryText"><![CDATA[select
> CLASSICMODELS.PRODUCTS.PRODUCTLINE, count(1) PRODUCTLINE_COUNT,
> sum(CLASSICMODELS.PRODUCTS.QUANTITYINSTOCK) PRODUCTLINE_QUANTITYINSTOCK
> from CLASSICMODELS.PRODUCTS
> group by CLASSICMODELS.PRODUCTS.PRODUCTLINE]]></xml-property>
> <xml-property name="designerValues"><![CDATA[<?xml version="1.0"
> encoding="UTF-8"?>
> <model:DesignValues
> xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design"
> xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
> <Version>1.0</Version>
> <design:ResultSets derivedMetaData="true">
> <design:resultSetDefinitions>
> <design:resultSetColumns>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>PRODUCTCODE</design:name>
> <design:position>1</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>PRODUCTNAME</design:name>
> <design:position>2</design:position>
> <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
> <design:precision>70</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>PRODUCTNAME</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>PRODUCTNAME</design:label>
> <design:formattingHints>
> <design:displaySize>70</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>PRODUCTLINE</design:name>
> <design:position>3</design:position>
> <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
> <design:precision>50</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>PRODUCTLINE</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>PRODUCTLINE</design:label>
> <design:formattingHints>
> <design:displaySize>50</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>PRODUCTSCALE</design:name>
> <design:position>4</design:position>
> <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
> <design:precision>10</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>PRODUCTSCALE</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>PRODUCTSCALE</design:label>
> <design:formattingHints>
> <design:displaySize>10</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>PRODUCTVENDOR</design:name>
> <design:position>5</design:position>
> <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
> <design:precision>50</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>PRODUCTVENDOR</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>PRODUCTVENDOR</design:label>
> <design:formattingHints>
> <design:displaySize>50</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>PRODUCTDESCRIPTION</design:name>
> <design:position>6</design:position>
> <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
> <design:precision>32700</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>PRODUCTDESCRIPTION</design:displayName >
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>PRODUCTDESCRIPTION</design:label>
> <design:formattingHints>
> <design:displaySize>32700</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>QUANTITYINSTOCK</design:name>
> <design:position>7</design:position>
> <design:nativeDataTypeCode>4</design:nativeDataTypeCode>
> <design:precision>10</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>QUANTITYINSTOCK</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>QUANTITYINSTOCK</design:label>
> <design:formattingHints>
> <design:displaySize>11</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>BUYPRICE</design:name>
> <design:position>8</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>BUYPRICE</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>BUYPRICE</design:label>
> <design:formattingHints>
> <design:displaySize>22</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>MSRP</design:name>
> <design:position>9</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>MSRP</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>MSRP</design:label>
> <design:formattingHints>
> <design:displaySize>22</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> </design:resultSetColumns>
> <design:criteria/>
> </design:resultSetDefinitions>
> </design:ResultSets>
> </model:DesignValues>]]></xml-property>
> </oda-data-set>
> </data-sets>
> <styles>
> <style name="report" id="4">
> <property name="fontFamily">sans-serif</property>
> <property name="fontSize">10pt</property>
> </style>
> <style name="crosstab" id="5">
> <property name="borderBottomColor">#CCCCCC</property>
> <property name="borderBottomStyle">solid</property>
> <property name="borderBottomWidth">1pt</property>
> <property name="borderLeftColor">#CCCCCC</property>
> <property name="borderLeftStyle">solid</property>
> <property name="borderLeftWidth">1pt</property>
> <property name="borderRightColor">#CCCCCC</property>
> <property name="borderRightStyle">solid</property>
> <property name="borderRightWidth">1pt</property>
> <property name="borderTopColor">#CCCCCC</property>
> <property name="borderTopStyle">solid</property>
> <property name="borderTopWidth">1pt</property>
> </style>
> <style name="crosstab-cell" id="6">
> <property name="borderBottomColor">#CCCCCC</property>
> <property name="borderBottomStyle">solid</property>
> <property name="borderBottomWidth">1pt</property>
> <property name="borderLeftColor">#CCCCCC</property>
> <property name="borderLeftStyle">solid</property>
> <property name="borderLeftWidth">1pt</property>
> <property name="borderRightColor">#CCCCCC</property>
> <property name="borderRightStyle">solid</property>
> <property name="borderRightWidth">1pt</property>
> <property name="borderTopColor">#CCCCCC</property>
> <property name="borderTopStyle">solid</property>
> <property name="borderTopWidth">1pt</property>
> </style>
> <style name="group1-footer" id="75">
> <property name="backgroundColor">#859CA1</property>
> <property name="fontFamily">sans-serif</property>
> <property name="fontSize">small</property>
> <property name="fontWeight">bold</property>
> <property name="color">#F5F5DC</property>
> </style>
> <style name="group1-header" id="74">
> <property name="backgroundColor">#859CA1</property>
> <property name="fontFamily">sans-serif</property>
> <property name="fontSize">small</property>
> <property name="fontWeight">bold</property>
> <property name="color">#F5F5DC</property>
> </style>
> <style name="table-detail" id="73">
> <property name="backgroundColor">#DEDCD3</property>
> <property name="fontFamily">sans-serif</property>
> <property name="fontSize">x-small</property>
> <property name="color">#1C515A</property>
> <property name="borderBottomColor">#859CA1</property>
> <property name="borderBottomStyle">solid</property>
> <property name="borderBottomWidth">thin</property>
> <property name="borderLeftColor">#859CA1</property>
> <property name="borderLeftStyle">solid</property>
> <property name="borderLeftWidth">thin</property>
> <property name="borderRightColor">#859CA1</property>
> <property name="borderRightStyle">solid</property>
> <property name="borderRightWidth">thin</property>
> <property name="borderTopColor">#859CA1</property>
> <property name="borderTopStyle">solid</property>
> <property name="borderTopWidth">thin</property>
> </style>
> <style name="table-footer" id="71">
> <property name="backgroundColor">#5C6C7B</property>
> <property name="fontFamily">sans-serif</property>
> <property name="fontSize">small</property>
> <property name="fontWeight">bold</property>
> <property name="color">#DEDCD3</property>
> </style>
> <style name="table-header" id="72">
> <property name="backgroundColor">#5C6C7B</property>
> <property name="fontFamily">sans-serif</property>
> <property name="fontSize">small</property>
> <property name="fontWeight">bold</property>
> <property name="color">#DEDCD3</property>
> </style>
> <style name="sub-total" id="335">
> <property name="fontSize">smaller</property>
> <property name="fontWeight">bold</property>
> <property name="textUnderline">none</property>
> </style>
> <style name="Total" id="340">
> <property name="backgroundColor">#FF8000</property>
> <property name="fontSize">smaller</property>
> <property name="fontWeight">bold</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>new
> Date()</value-of>]]></text-property>
> </text>
> </page-footer>
> </simple-master-page>
> </page-setup>
> <body>
> <grid id="296">
> <column id="297"/>
> <row id="298">
> <cell id="299">
> <table name="Outer Table" id="113">
> <property name="dataSet">All Products</property>
> <list-property name="boundDataColumns">
> <structure>
> <property name="name">PRODUCTLINE</property>
> <expression name="expression"
> type="javascript">dataSetRow["PRODUCTLINE"]</expression >
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="name">PRODUCTLINE_COUNT</property>
> <expression name="expression"
> type="javascript">dataSetRow["PRODUCTLINE_COUNT"]</expression >
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="name">PRODUCTLINE_QUANTITYINSTOCK</property>
> <expression name="expression"
> type="javascript">dataSetRow["PRODUCTLINE_QUANTITYINSTOCK "]</expression>
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="name">Total</property>
> <expression name="expression"
> type="javascript">row["PRODUCTLINE_QUANTITYINSTOCK"]</expression >
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="name">Count</property>
> <expression name="expression" type="javascript">"Count : " +
> row["PRODUCTLINE_COUNT"]</expression>
> <property name="dataType">string</property>
> </structure>
> </list-property>
> <list-property name="sort">
> <structure>
> <expression name="key" type="javascript">row["PRODUCTLINE"]</expression>
> <property name="direction">asc</property>
> <property name="strength">-1</property>
> </structure>
> </list-property>
> <column id="132"/>
> <column id="133"/>
> <column id="134"/>
> <column id="135"/>
> <header>
> <row id="114">
> <cell id="115"/>
> <cell id="116"/>
> <cell id="117"/>
> <cell id="118"/>
> </row>
> </header>
> <group id="341">
> <property name="groupName">ProductLine Group</property>
> <property name="interval">none</property>
> <property name="sortDirection">asc</property>
> <expression name="keyExpr"
> type="javascript">row["PRODUCTLINE"]</expression>
> <structure name="toc">
> <expression name="expressionValue"
> type="javascript">row["PRODUCTLINE"]</expression>
> </structure>
> <property name="repeatHeader">true</property>
> <property name="hideDetail">false</property>
> <property name="pageBreakAfter">auto</property>
> <property name="pageBreakBefore">auto</property>
> <property name="pageBreakInside">auto</property>
> <header>
> <row id="342">
> <property name="backgroundColor">#FFFF8C</property>
> <cell id="343">
> <data id="352">
> <property name="resultSetColumn">PRODUCTLINE</property>
> </data>
> </cell>
> <cell id="344">
> <data id="364">
> <property name="resultSetColumn">Count</property>
> </data>
> </cell>
> <cell id="345"/>
> <cell id="346"/>
> </row>
> </header>
> <footer>
> <row id="347">
> <cell id="348"/>
> <cell id="349"/>
> <cell id="350"/>
> <cell id="351">
> <grid id="355">
> <column id="356"/>
> <column id="357"/>
> <row id="358">
> <property name="style">Total</property>
> <cell id="359">
> <label id="363">
> <text-property name="text">Total</text-property>
> </label>
> </cell>
> <cell id="360">
> <data id="361">
> <structure name="numberFormat">
> <property name="category">Fixed</property>
> <property name="pattern">#,##0</property>
> </structure>
> <property name="textAlign">right</property>
> <list-property name="mapRules">
> <structure>
> <expression name="testExpr" type="javascript">row["Total"]</expression>
> <property name="operator">is-null</property>
> <text-property name="display">0</text-property>
> </structure>
> </list-property>
> <property name="resultSetColumn">Total</property>
> </data>
> </cell>
> </row>
> </grid>
> </cell>
> </row>
> </footer>
> </group>
> <detail>
> <row id="120">
> <cell id="121">
> <table name="Inner Table 1" id="137">
> <property name="dataSet">Products</property>
> <list-property name="paramBindings">
> <structure>
> <property name="paramName">ProductLine</property>
> <expression name="expression"
> type="javascript">row["PRODUCTLINE"]</expression>
> </structure>
> </list-property>
> <list-property name="boundDataColumns">
> <structure>
> <property name="name">PRODUCTNAME</property>
> <expression name="expression"
> type="javascript">dataSetRow["PRODUCTCODE"]</expression >
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="name">QUANTITYINSTOCK</property>
> <expression name="expression"
> type="javascript">dataSetRow["QUANTITYINSTOCK"]</expression >
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="name">Product Count</property>
> <property name="dataType">integer</property>
> <property name="aggregateFunction">COUNT</property>
> <list-property name="arguments">
> <structure>
> <property name="name">Expression</property>
> <expression name="value" type="javascript">row["PRODUCTNAME"]</expression>
> </structure>
> </list-property>
> </structure>
> <structure>
> <property name="name">Quantity Sub Total</property>
> <property name="dataType">integer</property>
> <property name="aggregateFunction">SUM</property>
> <list-property name="arguments">
> <structure>
> <property name="name">Expression</property>
> <expression name="value"
> type="javascript">row["QUANTITYINSTOCK"]</expression>
> </structure>
> </list-property>
> </structure>
> <structure>
> <property name="name">Column Binding</property>
> <expression name="expression" type="javascript">row["Quantity Sub
> Total"]</expression>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="name">SubTotal</property>
> <expression name="expression" type="javascript">row["Quantity Sub
> Total"]</expression>
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="name">ROWNUM</property>
> <expression name="expression" type="javascript">row.__rownum</expression>
> <property name="dataType">integer</property>
> </structure>
> </list-property>
> <list-property name="sort">
> <structure>
> <expression name="key" type="javascript">row["PRODUCTNAME"]</expression>
> <property name="direction">asc</property>
> <property name="strength">-1</property>
> </structure>
> </list-property>
> <list-property name="filter">
> <structure>
> <property name="operator">le</property>
> <expression name="expr" type="javascript">row["__rownum"]</expression>
> <simple-property-list name="value1">
> <value>Math.floor((row["Product Count"] - 1) / 4)</value>
> </simple-property-list>
> </structure>
> </list-property>
> <column id="147"/>
> <column id="148"/>
> <header>
> <row id="138">
> <cell id="139">
> <label id="201">
> <text-property name="text">Name</text-property>
> </label>
> </cell>
> <cell id="140">
> <label id="203">
> <text-property name="text">Quantity</text-property>
> </label>
> </cell>
> </row>
> </header>
> <detail>
> <row id="141">
> <cell id="142">
> <data id="202">
> <property name="resultSetColumn">PRODUCTNAME</property>
> </data>
> </cell>
> <cell id="143">
> <data id="204">
> <structure name="numberFormat">
> <property name="category">Fixed</property>
> <property name="pattern">#,##0</property>
> </structure>
> <property name="textAlign">right</property>
> <property name="resultSetColumn">QUANTITYINSTOCK</property>
> </data>
> </cell>
> </row>
> </detail>
> </table>
> </cell>
> <cell id="122">
> <table name="Inner Table 2" id="149">
> <property name="dataSet">Products</property>
> <list-property name="paramBindings">
> <structure>
> <property name="paramName">ProductLine</property>
> <expression name="expression"
> type="javascript">row["PRODUCTLINE"]</expression>
> </structure>
> </list-property>
> <list-property name="boundDataColumns">
> <structure>
> <property name="name">PRODUCTNAME</property>
> <expression name="expression"
> type="javascript">dataSetRow["PRODUCTCODE"]</expression >
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="name">QUANTITYINSTOCK</property>
> <expression name="expression"
> type="javascript">dataSetRow["QUANTITYINSTOCK"]</expression >
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="name">Product Count</property>
> <property name="dataType">integer</property>
> <property name="aggregateFunction">COUNT</property>
> <list-property name="arguments">
> <structure>
> <property name="name">Expression</property>
> <expression name="value" type="javascript">row["PRODUCTNAME"]</expression>
> </structure>
> </list-property>
> </structure>
> <structure>
> <property name="name">Quantity Sub Total</property>
> <property name="dataType">integer</property>
> <property name="aggregateFunction">SUM</property>
> <list-property name="arguments">
> <structure>
> <property name="name">Expression</property>
> <expression name="value"
> type="javascript">row["QUANTITYINSTOCK"]</expression>
> </structure>
> </list-property>
> </structure>
> <structure>
> <property name="name">SubTotal</property>
> <expression name="expression" type="javascript">row["Quantity Sub
> Total"]</expression>
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="name">ROWNUM</property>
> <expression name="expression" type="javascript">row.__rownum</expression>
> <property name="dataType">integer</property>
> </structure>
> </list-property>
> <list-property name="sort">
> <structure>
> <expression name="key" type="javascript">row["PRODUCTNAME"]</expression>
> <property name="direction">asc</property>
> <property name="strength">-1</property>
> </structure>
> </list-property>
> <list-property name="filter">
> <structure>
> <property name="operator">gt</property>
> <expression name="expr" type="javascript">row["__rownum"]</expression>
> <simple-property-list name="value1">
> <value>Math.floor((row["Product Count"] - 1) / 4)</value>
> </simple-property-list>
> </structure>
> <structure>
> <property name="operator">le</property>
> <expression name="expr" type="javascript">row["__rownum"]</expression>
> <simple-property-list name="value1">
> <value>(Math.floor((row["Product Count"] - 1) / 4) * 2) + 1</value>
> </simple-property-list>
> </structure>
> </list-property>
> <column id="159"/>
> <column id="160"/>
> <header>
> <row id="150">
> <cell id="151">
> <label id="252">
> <text-property name="text">Name</text-property>
> </label>
> </cell>
> <cell id="152">
> <la
|
|
|
|
Re: Column wrapping in a table [message #632955 is a reply to message #632942] |
Thu, 14 October 2010 18:58 |
|
I replied to your email.
On 10/14/2010 1:55 PM, Jay Jakilinki wrote:
> Hi Jason
>
> I emailed you the report.
>
> I did that the report XML was getting truncated and I was looking for
> somehow to attach the report to this post. Couldn't figure it out.
|
|
|
Powered by
FUDForum. Page generated in 0.04276 seconds