|
|
Re: Column wrapping in a table [message #632881 is a reply to message #632870] |
Thu, 14 October 2010 10:51   |
Eclipse User |
|
|
|
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 11:25] by Moderator
|
|
|
Re: Column wrapping in a table [message #632935 is a reply to message #632881] |
Thu, 14 October 2010 13:29   |
Eclipse User |
|
|
|
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 14:58  |
Eclipse User |
|
|
|
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.06463 seconds