Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » BIRT » Group Header in Detail Line(Where is the DROP property?)
Group Header in Detail Line [message #656678] Mon, 28 February 2011 05:59 Go to next message
Chris  is currently offline Chris Friend
Messages: 47
Registered: September 2010
Member
In BIRT A Field Guide to Reporting in Chapter 11 it explains how to drop a group header into the detail row.
On Property Editor choose General from the list of Properties. For Drop select one of the following: detail or all.

I am using version 2.6.1

I have looked everywhere for DROP and can see it nowhere. Can anyone help.

Thanks
Chris
Re: Group Header in Detail Line [message #656847 is a reply to message #656678] Mon, 28 February 2011 18:42 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason WeathersbyFriend
Messages: 9167
Registered: July 2009
Senior Member

Chris

If you select the detail row on the left side and right click on the
mouse there is an option to insert a group header/footer. Does the
table currently contain a group?

Jason

On 2/28/2011 1:06 AM, Chris wrote:
> In BIRT A Field Guide to Reporting in Chapter 11 it explains how to drop
> a group header into the detail row. On Property Editor choose General
> from the list of Properties. For Drop select one of the following:
> detail or all.
>
> I am using version 2.6.1
>
> I have looked everywhere for DROP and can see it nowhere. Can anyone help.
>
> Thanks Chris
Re: Group Header in Detail Line [message #656947 is a reply to message #656847] Tue, 01 March 2011 07:08 Go to previous messageGo to next message
Chris  is currently offline Chris Friend
Messages: 47
Registered: September 2010
Member
Thanks Jason. I have created a very simple report grouping the customer names with the starting letter as the group field. I want to use drop to include it in the first line of detail for the group.

<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.22" id="1">
<property name="createdBy">Eclipse BIRT Designer Version 2.6.1.v20100902 Build &lt;2.6.1.v20100915-1750></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">
<list-property name="privateDriverProperties">
<ex-property>
<name>contentBidiFormatStr</name>
<value>ILYNN</value>
</ex-property>
<ex-property>
<name>metadataBidiFormatStr</name>
<value>ILYNN</value>
</ex-property>
</list-property>
<property name="odaDriverClass">org.eclipse.birt.report.data.oda.sampledb.Driver </property>
<property name="odaURL">jdbc:classicmodels:sampledb</property>
<property name="odaUser">ClassicModels</property>
</oda-data-source>
</data-sources>
<data-sets>
<oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet " name="customer" id="8">
<list-property name="computedColumns">
<structure>
<property name="name">sortletter</property>
<expression name="expression">BirtStr.toUpper(BirtStr.left(row["CUSTOMERNAME "],1))</expression>
<property name="dataType">string</property>
</structure>
</list-property>
<list-property name="columnHints">
<structure>
<property name="columnName">CUSTOMERNUMBER</property>
<text-property name="displayName">CUSTOMERNUMBER</text-property>
<text-property name="heading">CUSTOMERNUMBER</text-property>
</structure>
<structure>
<property name="columnName">CUSTOMERNAME</property>
<text-property name="displayName">CUSTOMERNAME</text-property>
<text-property name="heading">CUSTOMERNAME</text-property>
</structure>
<structure>
<property name="columnName">CONTACTLASTNAME</property>
<text-property name="displayName">CONTACTLASTNAME</text-property>
<text-property name="heading">CONTACTLASTNAME</text-property>
</structure>
<structure>
<property name="columnName">CONTACTFIRSTNAME</property>
<text-property name="displayName">CONTACTFIRSTNAME</text-property>
<text-property name="heading">CONTACTFIRSTNAME</text-property>
</structure>
<structure>
<property name="columnName">PHONE</property>
<text-property name="displayName">PHONE</text-property>
<text-property name="heading">PHONE</text-property>
</structure>
<structure>
<property name="columnName">ADDRESSLINE1</property>
<text-property name="displayName">ADDRESSLINE1</text-property>
<text-property name="heading">ADDRESSLINE1</text-property>
</structure>
<structure>
<property name="columnName">ADDRESSLINE2</property>
<text-property name="displayName">ADDRESSLINE2</text-property>
<text-property name="heading">ADDRESSLINE2</text-property>
</structure>
<structure>
<property name="columnName">CITY</property>
<text-property name="displayName">CITY</text-property>
<text-property name="heading">CITY</text-property>
</structure>
<structure>
<property name="columnName">STATE</property>
<text-property name="displayName">STATE</text-property>
<text-property name="heading">STATE</text-property>
</structure>
<structure>
<property name="columnName">POSTALCODE</property>
<text-property name="displayName">POSTALCODE</text-property>
<text-property name="heading">POSTALCODE</text-property>
</structure>
<structure>
<property name="columnName">COUNTRY</property>
<text-property name="displayName">COUNTRY</text-property>
<text-property name="heading">COUNTRY</text-property>
</structure>
<structure>
<property name="columnName">SALESREPEMPLOYEENUMBER</property>
<text-property name="displayName">SALESREPEMPLOYEENUMBER</text-property>
<text-property name="heading">SALESREPEMPLOYEENUMBER</text-property>
</structure>
<structure>
<property name="columnName">CREDITLIMIT</property>
<text-property name="displayName">CREDITLIMIT</text-property>
<text-property name="heading">CREDITLIMIT</text-property>
</structure>
</list-property>
<structure name="cachedMetaData">
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">CUSTOMERNUMBER</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">CUSTOMERNAME</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">3</property>
<property name="name">CONTACTLASTNAME</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">4</property>
<property name="name">CONTACTFIRSTNAME</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">5</property>
<property name="name">PHONE</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">6</property>
<property name="name">ADDRESSLINE1</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">7</property>
<property name="name">ADDRESSLINE2</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">8</property>
<property name="name">CITY</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">9</property>
<property name="name">STATE</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">10</property>
<property name="name">POSTALCODE</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">11</property>
<property name="name">COUNTRY</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">12</property>
<property name="name">SALESREPEMPLOYEENUMBER</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">13</property>
<property name="name">CREDITLIMIT</property>
<property name="dataType">float</property>
</structure>
<structure>
<property name="position">14</property>
<property name="name">sortletter</property>
<property name="dataType">string</property>
</structure>
</list-property>
</structure>
<property name="dataSource">Data Source</property>
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">CUSTOMERNUMBER</property>
<property name="nativeName">CUSTOMERNUMBER</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">CUSTOMERNAME</property>
<property name="nativeName">CUSTOMERNAME</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">3</property>
<property name="name">CONTACTLASTNAME</property>
<property name="nativeName">CONTACTLASTNAME</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">4</property>
<property name="name">CONTACTFIRSTNAME</property>
<property name="nativeName">CONTACTFIRSTNAME</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">5</property>
<property name="name">PHONE</property>
<property name="nativeName">PHONE</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">6</property>
<property name="name">ADDRESSLINE1</property>
<property name="nativeName">ADDRESSLINE1</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">7</property>
<property name="name">ADDRESSLINE2</property>
<property name="nativeName">ADDRESSLINE2</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">8</property>
<property name="name">CITY</property>
<property name="nativeName">CITY</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">9</property>
<property name="name">STATE</property>
<property name="nativeName">STATE</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">10</property>
<property name="name">POSTALCODE</property>
<property name="nativeName">POSTALCODE</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">11</property>
<property name="name">COUNTRY</property>
<property name="nativeName">COUNTRY</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">12</property>
<property name="name">SALESREPEMPLOYEENUMBER</property>
<property name="nativeName">SALESREPEMPLOYEENUMBER</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">13</property>
<property name="name">CREDITLIMIT</property>
<property name="nativeName">CREDITLIMIT</property>
<property name="dataType">float</property>
</structure>
</list-property>
<xml-property name="queryText"><![CDATA[select *
from CLASSICMODELS.CUSTOMERS
order by CLASSICMODELS.CUSTOMERS.CUSTOMERNAME]]></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>CUSTOMERNUMBER</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>CUSTOMERNUMBER</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>CUSTOMERNUMBER</design:label>
<design:formattingHints>
<design:displaySize>11</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>CUSTOMERNAME</design:name>
<design:position>2</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>CUSTOMERNAME</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>CUSTOMERNAME</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>CONTACTLASTNAME</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>CONTACTLASTNAME</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>CONTACTLASTNAME</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>CONTACTFIRSTNAME</design:name>
<design:position>4</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>CONTACTFIRSTNAME</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>CONTACTFIRSTNAME</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>PHONE</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>PHONE</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>PHONE</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>ADDRESSLINE1</design:name>
<design:position>6</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>ADDRESSLINE1</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>ADDRESSLINE1</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>ADDRESSLINE2</design:name>
<design:position>7</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>ADDRESSLINE2</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>ADDRESSLINE2</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>CITY</design:name>
<design:position>8</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>CITY</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>CITY</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>STATE</design:name>
<design:position>9</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>STATE</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>STATE</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>POSTALCODE</design:name>
<design:position>10</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>POSTALCODE</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>POSTALCODE</design:label>
<design:formattingHints>
<design:displaySize>15</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>COUNTRY</design:name>
<design:position>11</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>COUNTRY</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>COUNTRY</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>SALESREPEMPLOYEENUMBER</design:name>
<design:position>12</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>SALESREPEMPLOYEENUMBER</design:displayName >
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>SALESREPEMPLOYEENUMBER</design:label>
<design:formattingHints>
<design:displaySize>11</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>CREDITLIMIT</design:name>
<design:position>13</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>CREDITLIMIT</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>CREDITLIMIT</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-cell" id="5">
<property name="borderBottomColor">#CCCCCC</property>
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1pt</property>
<property name="borderLeftColor">#CCCCCC</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1pt</property>
<property name="borderRightColor">#CCCCCC</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1pt</property>
<property name="borderTopColor">#CCCCCC</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">1pt</property>
</style>
<style name="crosstab" 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>
<table id="9">
<property name="width">7.947916666666667in</property>
<property name="dataSet">customer</property>
<list-property name="boundDataColumns">
<structure>
<property name="name">CUSTOMERNUMBER</property>
<text-property name="displayName">CUSTOMERNUMBER</text-property>
<expression name="expression" type="javascript">dataSetRow["CUSTOMERNUMBER"]</expression >
<property name="dataType">integer</property>
</structure>
<structure>
<property name="name">CUSTOMERNAME</property>
<text-property name="displayName">CUSTOMERNAME</text-property>
<expression name="expression" type="javascript">dataSetRow["CUSTOMERNAME"]</expression >
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">CONTACTLASTNAME</property>
<text-property name="displayName">CONTACTLASTNAME</text-property>
<expression name="expression" type="javascript">dataSetRow["CONTACTLASTNAME"]</expression >
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">CONTACTFIRSTNAME</property>
<text-property name="displayName">CONTACTFIRSTNAME</text-property>
<expression name="expression" type="javascript">dataSetRow["CONTACTFIRSTNAME"]</expression >
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">PHONE</property>
<text-property name="displayName">PHONE</text-property>
<expression name="expression" type="javascript">dataSetRow["PHONE"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">ADDRESSLINE1</property>
<text-property name="displayName">ADDRESSLINE1</text-property>
<expression name="expression" type="javascript">dataSetRow["ADDRESSLINE1"]</expression >
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">ADDRESSLINE2</property>
<text-property name="displayName">ADDRESSLINE2</text-property>
<expression name="expression" type="javascript">dataSetRow["ADDRESSLINE2"]</expression >
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">CITY</property>
<text-property name="displayName">CITY</text-property>
<expression name="expression" type="javascript">dataSetRow["CITY"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">STATE</property>
<text-property name="displayName">STATE</text-property>
<expression name="expression" type="javascript">dataSetRow["STATE"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">POSTALCODE</property>
<text-property name="displayName">POSTALCODE</text-property>
<expression name="expression" type="javascript">dataSetRow["POSTALCODE"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">COUNTRY</property>
<text-property name="displayName">COUNTRY</text-property>
<expression name="expression" type="javascript">dataSetRow["COUNTRY"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">SALESREPEMPLOYEENUMBER</property>
<text-property name="displayName">SALESREPEMPLOYEENUMBER</text-property>
<expression name="expression" type="javascript">dataSetRow["SALESREPEMPLOYEENUMBER"]</expression >
<property name="dataType">integer</property>
</structure>
<structure>
<property name="name">CREDITLIMIT</property>
<text-property name="displayName">CREDITLIMIT</text-property>
<expression name="expression" type="javascript">dataSetRow["CREDITLIMIT"]</expression >
<property name="dataType">float</property>
</structure>
<structure>
<property name="name">sortletter</property>
<text-property name="displayName">sortletter</text-property>
<expression name="expression" type="javascript">dataSetRow["sortletter"]</expression>
<property name="dataType">string</property>
</structure>
</list-property>
<list-property name="sort">
<structure>
<expression name="key" type="javascript">row["sortletter"]</expression>
<property name="direction">asc</property>
<property name="strength">-1</property>
</structure>
<structure>
<expression name="key" type="javascript">BirtStr.toUpper(row["CUSTOMERNAME"])</expression >
<property name="direction">asc</property>
<property name="strength">-1</property>
</structure>
</list-property>
<column id="22">
<property name="width">0.9583333333333334in</property>
</column>
<column id="23">
<property name="width">2.96875in</property>
</column>
<column id="24">
<property name="width">4.020833333333333in</property>
</column>
<header>
<row id="10">
<property name="textAlign">left</property>
<cell id="11"/>
<cell id="12">
<label id="27">
<text-property name="text">Customer</text-property>
</label>
</cell>
<cell id="13">
<label id="29">
<text-property name="text">Contact</text-property>
</label>
</cell>
</row>
</header>
<group id="32">
<property name="groupName">CustNameLetter</property>
<property name="interval">none</property>
<property name="sortDirection">asc</property>
<expression name="keyExpr" type="javascript">row["sortletter"]</expression>
<structure name="toc">
<expression name="expressionValue" type="javascript">row["sortletter"]</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="33">
<cell id="34">
<data id="41">
<property name="resultSetColumn">sortletter</property>
</data>
</cell>
<cell id="35"/>
<cell id="36"/>
</row>
</header>
<footer>
<row id="37">
<cell id="38"/>
<cell id="39"/>
<cell id="40"/>
</row>
</footer>
</group>
<detail>
<row id="14">
<cell id="15"/>
<cell id="16">
<data id="28">
<property name="whiteSpace">nowrap</property>
<property name="resultSetColumn">CUSTOMERNAME</property>
</data>
</cell>
<cell id="17">
<data id="31">
<property name="whiteSpace">nowrap</property>
<property name="display">inline</property>
<property name="resultSetColumn">CONTACTFIRSTNAME</property>
</data>
<data id="30">
<property name="whiteSpace">nowrap</property>
<property name="display">inline</property>
<property name="resultSetColumn">CONTACTLASTNAME</property>
</data>
</cell>
</row>
</detail>
<footer>
<row id="18">
<cell id="19"/>
<cell id="20"/>
<cell id="21"/>
</row>
</footer>
</table>
</body>
</report>
Re: Group Header in Detail Line [message #657096 is a reply to message #656947] Tue, 01 March 2011 15:24 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason WeathersbyFriend
Messages: 9167
Registered: July 2009
Senior Member

Chris,

Not sure this is what you want, but I copy the sortletter data item to
the detail row and then selected the column and in the general
properties for the column I checked the Suppress duplicates. That put
the sort letter on the first row of each group. You could also do this
with script on the data item like:

Attached is the modified report.

var curr =this.getRowData().getColumnValue("sortletter");
if( reportContext.getGlobalVariable("last") == null ){
reportContext.setGlobalVariable("last", curr);
}else{
if( curr == reportContext.getGlobalVariable("last")){
this.getStyle().display = "none";
}
reportContext.setGlobalVariable("last",curr);
}


Jason

<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.22"
id="1">
<property name="createdBy">Eclipse BIRT Designer Version
2.6.1.v20100902 Build &lt;2.6.1.v20100915-1750></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">
<list-property name="privateDriverProperties">
<ex-property>
<name>contentBidiFormatStr</name>
<value>ILYNN</value>
</ex-property>
<ex-property>
<name>metadataBidiFormatStr</name>
<value>ILYNN</value>
</ex-property>
</list-property>
<property
name="odaDriverClass">org.eclipse.birt.report.data.oda.sampledb.Driver </property>
<property name="odaURL">jdbc:classicmodels:sampledb</property>
<property name="odaUser">ClassicModels</property>
</oda-data-source>
</data-sources>
<data-sets>
<oda-data-set
extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet "
name="customer" id="8">
<list-property name="computedColumns">
<structure>
<property name="name">sortletter</property>
<expression
name="expression">BirtStr.toUpper(BirtStr.left(row["CUSTOMERNAME "],1))</expression>
<property name="dataType">string</property>
</structure>
</list-property>
<list-property name="columnHints">
<structure>
<property name="columnName">CUSTOMERNUMBER</property>
<text-property
name="displayName">CUSTOMERNUMBER</text-property>
<text-property
name="heading">CUSTOMERNUMBER</text-property>
</structure>
<structure>
<property name="columnName">CUSTOMERNAME</property>
<text-property
name="displayName">CUSTOMERNAME</text-property>
<text-property
name="heading">CUSTOMERNAME</text-property>
</structure>
<structure>
<property name="columnName">CONTACTLASTNAME</property>
<text-property
name="displayName">CONTACTLASTNAME</text-property>
<text-property
name="heading">CONTACTLASTNAME</text-property>
</structure>
<structure>
<property name="columnName">CONTACTFIRSTNAME</property>
<text-property
name="displayName">CONTACTFIRSTNAME</text-property>
<text-property
name="heading">CONTACTFIRSTNAME</text-property>
</structure>
<structure>
<property name="columnName">PHONE</property>
<text-property name="displayName">PHONE</text-property>
<text-property name="heading">PHONE</text-property>
</structure>
<structure>
<property name="columnName">ADDRESSLINE1</property>
<text-property
name="displayName">ADDRESSLINE1</text-property>
<text-property
name="heading">ADDRESSLINE1</text-property>
</structure>
<structure>
<property name="columnName">ADDRESSLINE2</property>
<text-property
name="displayName">ADDRESSLINE2</text-property>
<text-property
name="heading">ADDRESSLINE2</text-property>
</structure>
<structure>
<property name="columnName">CITY</property>
<text-property name="displayName">CITY</text-property>
<text-property name="heading">CITY</text-property>
</structure>
<structure>
<property name="columnName">STATE</property>
<text-property name="displayName">STATE</text-property>
<text-property name="heading">STATE</text-property>
</structure>
<structure>
<property name="columnName">POSTALCODE</property>
<text-property
name="displayName">POSTALCODE</text-property>
<text-property
name="heading">POSTALCODE</text-property>
</structure>
<structure>
<property name="columnName">COUNTRY</property>
<text-property
name="displayName">COUNTRY</text-property>
<text-property name="heading">COUNTRY</text-property>
</structure>
<structure>
<property
name="columnName">SALESREPEMPLOYEENUMBER</property>
<text-property
name="displayName">SALESREPEMPLOYEENUMBER</text-property>
<text-property
name="heading">SALESREPEMPLOYEENUMBER</text-property>
</structure>
<structure>
<property name="columnName">CREDITLIMIT</property>
<text-property
name="displayName">CREDITLIMIT</text-property>
<text-property
name="heading">CREDITLIMIT</text-property>
</structure>
</list-property>
<structure name="cachedMetaData">
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">CUSTOMERNUMBER</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">CUSTOMERNAME</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">3</property>
<property name="name">CONTACTLASTNAME</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">4</property>
<property name="name">CONTACTFIRSTNAME</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">5</property>
<property name="name">PHONE</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">6</property>
<property name="name">ADDRESSLINE1</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">7</property>
<property name="name">ADDRESSLINE2</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">8</property>
<property name="name">CITY</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">9</property>
<property name="name">STATE</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">10</property>
<property name="name">POSTALCODE</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">11</property>
<property name="name">COUNTRY</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">12</property>
<property
name="name">SALESREPEMPLOYEENUMBER</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">13</property>
<property name="name">CREDITLIMIT</property>
<property name="dataType">float</property>
</structure>
<structure>
<property name="position">14</property>
<property name="name">sortletter</property>
<property name="dataType">string</property>
</structure>
</list-property>
</structure>
<property name="dataSource">Data Source</property>
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">CUSTOMERNUMBER</property>
<property name="nativeName">CUSTOMERNUMBER</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">CUSTOMERNAME</property>
<property name="nativeName">CUSTOMERNAME</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">3</property>
<property name="name">CONTACTLASTNAME</property>
<property name="nativeName">CONTACTLASTNAME</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">4</property>
<property name="name">CONTACTFIRSTNAME</property>
<property name="nativeName">CONTACTFIRSTNAME</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">5</property>
<property name="name">PHONE</property>
<property name="nativeName">PHONE</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">6</property>
<property name="name">ADDRESSLINE1</property>
<property name="nativeName">ADDRESSLINE1</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">7</property>
<property name="name">ADDRESSLINE2</property>
<property name="nativeName">ADDRESSLINE2</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">8</property>
<property name="name">CITY</property>
<property name="nativeName">CITY</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">9</property>
<property name="name">STATE</property>
<property name="nativeName">STATE</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">10</property>
<property name="name">POSTALCODE</property>
<property name="nativeName">POSTALCODE</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">11</property>
<property name="name">COUNTRY</property>
<property name="nativeName">COUNTRY</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">12</property>
<property name="name">SALESREPEMPLOYEENUMBER</property>
<property
name="nativeName">SALESREPEMPLOYEENUMBER</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">13</property>
<property name="name">CREDITLIMIT</property>
<property name="nativeName">CREDITLIMIT</property>
<property name="dataType">float</property>
</structure>
</list-property>
<xml-property name="queryText"><![CDATA[select *
from CLASSICMODELS.CUSTOMERS
order by CLASSICMODELS.CUSTOMERS.CUSTOMERNAME]]></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>CUSTOMERNUMBER</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>CUSTOMERNUMBER</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>CUSTOMERNUMBER</design:label>
<design:formattingHints>
<design:displaySize>11</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>CUSTOMERNAME</design:name>
<design:position>2</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>CUSTOMERNAME</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>CUSTOMERNAME</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>CONTACTLASTNAME</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>CONTACTLASTNAME</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>CONTACTLASTNAME</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>CONTACTFIRSTNAME</design:name>
<design:position>4</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>CONTACTFIRSTNAME</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>CONTACTFIRSTNAME</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>PHONE</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>PHONE</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>PHONE</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>ADDRESSLINE1</design:name>
<design:position>6</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>ADDRESSLINE1</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>ADDRESSLINE1</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>ADDRESSLINE2</design:name>
<design:position>7</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>ADDRESSLINE2</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>ADDRESSLINE2</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>CITY</design:name>
<design:position>8</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>CITY</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>CITY</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>STATE</design:name>
<design:position>9</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>STATE</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>STATE</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>POSTALCODE</design:name>
<design:position>10</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>POSTALCODE</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>POSTALCODE</design:label>
<design:formattingHints>
<design:displaySize>15</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>COUNTRY</design:name>
<design:position>11</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>COUNTRY</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>COUNTRY</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>SALESREPEMPLOYEENUMBER</design:name>
<design:position>12</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>SALESREPEMPLOYEENUMBER</design:displayName >
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>SALESREPEMPLOYEENUMBER</design:label>
<design:formattingHints>
<design:displaySize>11</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>CREDITLIMIT</design:name>
<design:position>13</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>CREDITLIMIT</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>CREDITLIMIT</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-cell" id="5">
<property name="borderBottomColor">#CCCCCC</property>
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1pt</property>
<property name="borderLeftColor">#CCCCCC</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1pt</property>
<property name="borderRightColor">#CCCCCC</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1pt</property>
<property name="borderTopColor">#CCCCCC</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">1pt</property>
</style>
<style name="crosstab" 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>
<table id="9">
<property name="width">7.947916666666667in</property>
<property name="dataSet">customer</property>
<list-property name="boundDataColumns">
<structure>
<property name="name">CUSTOMERNUMBER</property>
<text-property
name="displayName">CUSTOMERNUMBER</text-property>
<expression name="expression"
type="javascript">dataSetRow["CUSTOMERNUMBER"]</expression >
<property name="dataType">integer</property>
</structure>
<structure>
<property name="name">CUSTOMERNAME</property>
<text-property
name="displayName">CUSTOMERNAME</text-property>
<expression name="expression"
type="javascript">dataSetRow["CUSTOMERNAME"]</expression >
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">CONTACTLASTNAME</property>
<text-property
name="displayName">CONTACTLASTNAME</text-property>
<expression name="expression"
type="javascript">dataSetRow["CONTACTLASTNAME"]</expression >
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">CONTACTFIRSTNAME</property>
<text-property
name="displayName">CONTACTFIRSTNAME</text-property>
<expression name="expression"
type="javascript">dataSetRow["CONTACTFIRSTNAME"]</expression >
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">PHONE</property>
<text-property name="displayName">PHONE</text-property>
<expression name="expression"
type="javascript">dataSetRow["PHONE"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">ADDRESSLINE1</property>
<text-property
name="displayName">ADDRESSLINE1</text-property>
<expression name="expression"
type="javascript">dataSetRow["ADDRESSLINE1"]</expression >
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">ADDRESSLINE2</property>
<text-property
name="displayName">ADDRESSLINE2</text-property>
<expression name="expression"
type="javascript">dataSetRow["ADDRESSLINE2"]</expression >
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">CITY</property>
<text-property name="displayName">CITY</text-property>
<expression name="expression"
type="javascript">dataSetRow["CITY"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">STATE</property>
<text-property name="displayName">STATE</text-property>
<expression name="expression"
type="javascript">dataSetRow["STATE"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">POSTALCODE</property>
<text-property
name="displayName">POSTALCODE</text-property>
<expression name="expression"
type="javascript">dataSetRow["POSTALCODE"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">COUNTRY</property>
<text-property
name="displayName">COUNTRY</text-property>
<expression name="expression"
type="javascript">dataSetRow["COUNTRY"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">SALESREPEMPLOYEENUMBER</property>
<text-property
name="displayName">SALESREPEMPLOYEENUMBER</text-property>
<expression name="expression"
type="javascript">dataSetRow["SALESREPEMPLOYEENUMBER"]</expression >
<property name="dataType">integer</property>
</structure>
<structure>
<property name="name">CREDITLIMIT</property>
<text-property
name="displayName">CREDITLIMIT</text-property>
<expression name="expression"
type="javascript">dataSetRow["CREDITLIMIT"]</expression >
<property name="dataType">float</property>
</structure>
<structure>
<property name="name">sortletter</property>
<text-property
name="displayName">sortletter</text-property>
<expression name="expression"
type="javascript">dataSetRow["sortletter"]</expression>
<property name="dataType">string</property>
</structure>
</list-property>
<list-property name="sort">
<structure>
<expression name="key"
type="javascript">row["sortletter"]</expression>
<property name="direction">asc</property>
<property name="strength">-1</property>
</structure>
<structure>
<expression name="key"
type="javascript">BirtStr.toUpper(row["CUSTOMERNAME"])</expression >
<property name="direction">asc</property>
<property name="strength">-1</property>
</structure>
</list-property>
<column id="22">
<property name="width">0.9583333333333334in</property>
<property name="suppressDuplicates">true</property>
</column>
<column id="23">
<property name="width">2.96875in</property>
</column>
<column id="24">
<property name="width">4.020833333333333in</property>
</column>
<header>
<row id="10">
<property name="textAlign">left</property>
<cell id="11"/>
<cell id="12">
<label id="27">
<text-property
name="text">Customer</text-property>
</label>
</cell>
<cell id="13">
<label id="29">
<text-property
name="text">Contact</text-property>
</label>
</cell>
</row>
</header>
<group id="32">
<property name="groupName">CustNameLetter</property>
<property name="interval">none</property>
<property name="sortDirection">asc</property>
<expression name="keyExpr"
type="javascript">row["sortletter"]</expression>
<structure name="toc">
<expression name="expressionValue"
type="javascript">row["sortletter"]</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="33">
<cell id="34">
<data id="41">
<property
name="resultSetColumn">sortletter</property>
</data>
</cell>
<cell id="35"/>
<cell id="36"/>
</row>
</header>
<footer>
<row id="37">
<cell id="38"/>
<cell id="39"/>
<cell id="40"/>
</row>
</footer>
</group>
<detail>
<row id="14">
<cell id="15">
<data id="42">
<method name="onCreate"><![CDATA[ /*var
curr =this.getRowData().getColumnValue("sortletter");
if( reportContext.getGlobalVariable("last") == null ){
reportContext.setGlobalVariable("last", curr);
}else{
if( curr == reportContext.getGlobalVariable("last")){
this.getStyle().display = "none";
}
reportContext.setGlobalVariable("last",curr);
}*/]]></method>
<property
name="resultSetColumn">sortletter</property>
</data>
</cell>
<cell id="16">
<data id="28">
<property name="whiteSpace">nowrap</property>
<property
name="resultSetColumn">CUSTOMERNAME</property>
</data>
</cell>
<cell id="17">
<data id="31">
<property name="whiteSpace">nowrap</property>
<property name="display">inline</property>
<property
name="resultSetColumn">CONTACTFIRSTNAME</property>
</data>
<data id="30">
<property name="whiteSpace">nowrap</property>
<property name="display">inline</property>
<property
name="resultSetColumn">CONTACTLASTNAME</property>
</data>
</cell>
</row>
</detail>
<footer>
<row id="18">
<cell id="19"/>
<cell id="20"/>
<cell id="21"/>
</row>
</footer>
</table>
</body>
</report>


On 3/1/2011 2:08 AM, Chris wrote:
> Thanks Jason. I have created a very simple report grouping the customer
> names with the starting letter as the group field. I want to use drop to
> include it in the first line of detail for the group.
>
> <?xml version="1.0" encoding="UTF-8"?>
> <report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.22"
> id="1">
> <property name="createdBy">Eclipse BIRT Designer Version 2.6.1.v20100902
> Build <2.6.1.v20100915-1750></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">
> <list-property name="privateDriverProperties">
> <ex-property>
> <name>contentBidiFormatStr</name>
> <value>ILYNN</value>
> </ex-property>
> <ex-property>
> <name>metadataBidiFormatStr</name>
> <value>ILYNN</value>
> </ex-property>
> </list-property>
> <property
> name="odaDriverClass">org.eclipse.birt.report.data.oda.sampledb.Driver
> </property>
> <property name="odaURL">jdbc:classicmodels:sampledb</property>
> <property name="odaUser">ClassicModels</property>
> </oda-data-source>
> </data-sources>
> <data-sets>
> <oda-data-set
> extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet "
> name="customer" id="8">
> <list-property name="computedColumns">
> <structure>
> <property name="name">sortletter</property>
> <expression
> name="expression">BirtStr.toUpper(BirtStr.left(row["CUSTOMERNAME
> "],1))</expression>
> <property name="dataType">string</property>
> </structure>
> </list-property>
> <list-property name="columnHints">
> <structure>
> <property name="columnName">CUSTOMERNUMBER</property>
> <text-property name="displayName">CUSTOMERNUMBER</text-property>
> <text-property name="heading">CUSTOMERNUMBER</text-property>
> </structure>
> <structure>
> <property name="columnName">CUSTOMERNAME</property>
> <text-property name="displayName">CUSTOMERNAME</text-property>
> <text-property name="heading">CUSTOMERNAME</text-property>
> </structure>
> <structure>
> <property name="columnName">CONTACTLASTNAME</property>
> <text-property name="displayName">CONTACTLASTNAME</text-property>
> <text-property name="heading">CONTACTLASTNAME</text-property>
> </structure>
> <structure>
> <property name="columnName">CONTACTFIRSTNAME</property>
> <text-property name="displayName">CONTACTFIRSTNAME</text-property>
> <text-property name="heading">CONTACTFIRSTNAME</text-property>
> </structure>
> <structure>
> <property name="columnName">PHONE</property>
> <text-property name="displayName">PHONE</text-property>
> <text-property name="heading">PHONE</text-property>
> </structure>
> <structure>
> <property name="columnName">ADDRESSLINE1</property>
> <text-property name="displayName">ADDRESSLINE1</text-property>
> <text-property name="heading">ADDRESSLINE1</text-property>
> </structure>
> <structure>
> <property name="columnName">ADDRESSLINE2</property>
> <text-property name="displayName">ADDRESSLINE2</text-property>
> <text-property name="heading">ADDRESSLINE2</text-property>
> </structure>
> <structure>
> <property name="columnName">CITY</property>
> <text-property name="displayName">CITY</text-property>
> <text-property name="heading">CITY</text-property>
> </structure>
> <structure>
> <property name="columnName">STATE</property>
> <text-property name="displayName">STATE</text-property>
> <text-property name="heading">STATE</text-property>
> </structure>
> <structure>
> <property name="columnName">POSTALCODE</property>
> <text-property name="displayName">POSTALCODE</text-property>
> <text-property name="heading">POSTALCODE</text-property>
> </structure>
> <structure>
> <property name="columnName">COUNTRY</property>
> <text-property name="displayName">COUNTRY</text-property>
> <text-property name="heading">COUNTRY</text-property>
> </structure>
> <structure>
> <property name="columnName">SALESREPEMPLOYEENUMBER</property>
> <text-property name="displayName">SALESREPEMPLOYEENUMBER</text-property>
> <text-property name="heading">SALESREPEMPLOYEENUMBER</text-property>
> </structure>
> <structure>
> <property name="columnName">CREDITLIMIT</property>
> <text-property name="displayName">CREDITLIMIT</text-property>
> <text-property name="heading">CREDITLIMIT</text-property>
> </structure>
> </list-property>
> <structure name="cachedMetaData">
> <list-property name="resultSet">
> <structure>
> <property name="position">1</property>
> <property name="name">CUSTOMERNUMBER</property>
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="position">2</property>
> <property name="name">CUSTOMERNAME</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">3</property>
> <property name="name">CONTACTLASTNAME</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">4</property>
> <property name="name">CONTACTFIRSTNAME</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">5</property>
> <property name="name">PHONE</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">6</property>
> <property name="nam
Re: Group Header in Detail Line [message #657195 is a reply to message #657096] Tue, 01 March 2011 22:05 Go to previous messageGo to next message
Chris  is currently offline Chris Friend
Messages: 47
Registered: September 2010
Member
Thanks Jason, I have used that method before successfully. Problem is that it doesn't show up the groups to the left of the report in PDF. However the book BIRT a Field Guide to reporting said there was a DROP property
Instructions are:
How to drop a group heading in a detail row
1 select the cell that contains the group heading you want to drop. The cell below must be empty.
2.On Property Editor, choose General from the list of Properties.
3. For Drop select one of the following values....detail, All.

This would suggest that Drop is a property shown similarly to backgroud or Suppress Duplicates. Have you seen this property as I can't see it on the General properties page for the group cell, the group, the table or the report, nor in any other property for these items

Does this property exist? The book mentions version 2_2_1 an earlier version. Has DROP been removed from 2_6_1?

Thanks for your time
Chris
Re: Group Header in Detail Line [message #657204 is a reply to message #657195] Tue, 01 March 2011 22:30 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason WeathersbyFriend
Messages: 9167
Registered: July 2009
Senior Member

Chris,

The drop property is there, but you have to select the cell not the data
item. The outline view can make a lot easier to select. It is in the
general properties for the cell.

Modified report attached.

Jason

<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.22"
id="1">
<property name="createdBy">Eclipse BIRT Designer Version
2.6.1.v20100902 Build &lt;2.6.1.v20100915-1750></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">
<list-property name="privateDriverProperties">
<ex-property>
<name>contentBidiFormatStr</name>
<value>ILYNN</value>
</ex-property>
<ex-property>
<name>metadataBidiFormatStr</name>
<value>ILYNN</value>
</ex-property>
</list-property>
<property
name="odaDriverClass">org.eclipse.birt.report.data.oda.sampledb.Driver </property>
<property name="odaURL">jdbc:classicmodels:sampledb</property>
<property name="odaUser">ClassicModels</property>
</oda-data-source>
</data-sources>
<data-sets>
<oda-data-set
extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet "
name="customer" id="8">
<list-property name="computedColumns">
<structure>
<property name="name">sortletter</property>
<expression
name="expression">BirtStr.toUpper(BirtStr.left(row["CUSTOMERNAME "],1))</expression>
<property name="dataType">string</property>
</structure>
</list-property>
<list-property name="columnHints">
<structure>
<property name="columnName">CUSTOMERNUMBER</property>
<text-property
name="displayName">CUSTOMERNUMBER</text-property>
<text-property
name="heading">CUSTOMERNUMBER</text-property>
</structure>
<structure>
<property name="columnName">CUSTOMERNAME</property>
<text-property
name="displayName">CUSTOMERNAME</text-property>
<text-property
name="heading">CUSTOMERNAME</text-property>
</structure>
<structure>
<property name="columnName">CONTACTLASTNAME</property>
<text-property
name="displayName">CONTACTLASTNAME</text-property>
<text-property
name="heading">CONTACTLASTNAME</text-property>
</structure>
<structure>
<property name="columnName">CONTACTFIRSTNAME</property>
<text-property
name="displayName">CONTACTFIRSTNAME</text-property>
<text-property
name="heading">CONTACTFIRSTNAME</text-property>
</structure>
<structure>
<property name="columnName">PHONE</property>
<text-property name="displayName">PHONE</text-property>
<text-property name="heading">PHONE</text-property>
</structure>
<structure>
<property name="columnName">ADDRESSLINE1</property>
<text-property
name="displayName">ADDRESSLINE1</text-property>
<text-property
name="heading">ADDRESSLINE1</text-property>
</structure>
<structure>
<property name="columnName">ADDRESSLINE2</property>
<text-property
name="displayName">ADDRESSLINE2</text-property>
<text-property
name="heading">ADDRESSLINE2</text-property>
</structure>
<structure>
<property name="columnName">CITY</property>
<text-property name="displayName">CITY</text-property>
<text-property name="heading">CITY</text-property>
</structure>
<structure>
<property name="columnName">STATE</property>
<text-property name="displayName">STATE</text-property>
<text-property name="heading">STATE</text-property>
</structure>
<structure>
<property name="columnName">POSTALCODE</property>
<text-property
name="displayName">POSTALCODE</text-property>
<text-property
name="heading">POSTALCODE</text-property>
</structure>
<structure>
<property name="columnName">COUNTRY</property>
<text-property
name="displayName">COUNTRY</text-property>
<text-property name="heading">COUNTRY</text-property>
</structure>
<structure>
<property
name="columnName">SALESREPEMPLOYEENUMBER</property>
<text-property
name="displayName">SALESREPEMPLOYEENUMBER</text-property>
<text-property
name="heading">SALESREPEMPLOYEENUMBER</text-property>
</structure>
<structure>
<property name="columnName">CREDITLIMIT</property>
<text-property
name="displayName">CREDITLIMIT</text-property>
<text-property
name="heading">CREDITLIMIT</text-property>
</structure>
</list-property>
<structure name="cachedMetaData">
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">CUSTOMERNUMBER</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">CUSTOMERNAME</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">3</property>
<property name="name">CONTACTLASTNAME</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">4</property>
<property name="name">CONTACTFIRSTNAME</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">5</property>
<property name="name">PHONE</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">6</property>
<property name="name">ADDRESSLINE1</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">7</property>
<property name="name">ADDRESSLINE2</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">8</property>
<property name="name">CITY</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">9</property>
<property name="name">STATE</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">10</property>
<property name="name">POSTALCODE</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">11</property>
<property name="name">COUNTRY</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">12</property>
<property
name="name">SALESREPEMPLOYEENUMBER</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">13</property>
<property name="name">CREDITLIMIT</property>
<property name="dataType">float</property>
</structure>
<structure>
<property name="position">14</property>
<property name="name">sortletter</property>
<property name="dataType">string</property>
</structure>
</list-property>
</structure>
<property name="dataSource">Data Source</property>
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">CUSTOMERNUMBER</property>
<property name="nativeName">CUSTOMERNUMBER</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">CUSTOMERNAME</property>
<property name="nativeName">CUSTOMERNAME</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">3</property>
<property name="name">CONTACTLASTNAME</property>
<property name="nativeName">CONTACTLASTNAME</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">4</property>
<property name="name">CONTACTFIRSTNAME</property>
<property name="nativeName">CONTACTFIRSTNAME</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">5</property>
<property name="name">PHONE</property>
<property name="nativeName">PHONE</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">6</property>
<property name="name">ADDRESSLINE1</property>
<property name="nativeName">ADDRESSLINE1</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">7</property>
<property name="name">ADDRESSLINE2</property>
<property name="nativeName">ADDRESSLINE2</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">8</property>
<property name="name">CITY</property>
<property name="nativeName">CITY</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">9</property>
<property name="name">STATE</property>
<property name="nativeName">STATE</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">10</property>
<property name="name">POSTALCODE</property>
<property name="nativeName">POSTALCODE</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">11</property>
<property name="name">COUNTRY</property>
<property name="nativeName">COUNTRY</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">12</property>
<property name="name">SALESREPEMPLOYEENUMBER</property>
<property
name="nativeName">SALESREPEMPLOYEENUMBER</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">13</property>
<property name="name">CREDITLIMIT</property>
<property name="nativeName">CREDITLIMIT</property>
<property name="dataType">float</property>
</structure>
</list-property>
<xml-property name="queryText"><![CDATA[select *
from CLASSICMODELS.CUSTOMERS
order by CLASSICMODELS.CUSTOMERS.CUSTOMERNAME]]></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>CUSTOMERNUMBER</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>CUSTOMERNUMBER</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>CUSTOMERNUMBER</design:label>
<design:formattingHints>
<design:displaySize>11</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>CUSTOMERNAME</design:name>
<design:position>2</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>CUSTOMERNAME</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>CUSTOMERNAME</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>CONTACTLASTNAME</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>CONTACTLASTNAME</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>CONTACTLASTNAME</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>CONTACTFIRSTNAME</design:name>
<design:position>4</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>CONTACTFIRSTNAME</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>CONTACTFIRSTNAME</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>PHONE</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>PHONE</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>PHONE</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>ADDRESSLINE1</design:name>
<design:position>6</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>ADDRESSLINE1</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>ADDRESSLINE1</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>ADDRESSLINE2</design:name>
<design:position>7</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>ADDRESSLINE2</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>ADDRESSLINE2</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>CITY</design:name>
<design:position>8</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>CITY</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>CITY</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>STATE</design:name>
<design:position>9</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>STATE</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>STATE</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>POSTALCODE</design:name>
<design:position>10</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>POSTALCODE</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>POSTALCODE</design:label>
<design:formattingHints>
<design:displaySize>15</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>COUNTRY</design:name>
<design:position>11</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>COUNTRY</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>COUNTRY</design:label>
<design:formattingHints>
<design:displaySize>50</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>SALESREPEMPLOYEENUMBER</design:name>
<design:position>12</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>SALESREPEMPLOYEENUMBER</design:displayName >
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>SALESREPEMPLOYEENUMBER</design:label>
<design:formattingHints>
<design:displaySize>11</design:displaySize>
</design:formattingHints>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:name>CREDITLIMIT</design:name>
<design:position>13</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>CREDITLIMIT</design:displayName>
</design:uiHints>
</design:attributes>
<design:usageHints>
<design:label>CREDITLIMIT</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-cell" id="5">
<property name="borderBottomColor">#CCCCCC</property>
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1pt</property>
<property name="borderLeftColor">#CCCCCC</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1pt</property>
<property name="borderRightColor">#CCCCCC</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1pt</property>
<property name="borderTopColor">#CCCCCC</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">1pt</property>
</style>
<style name="crosstab" 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>
<table id="9">
<property name="width">7.947916666666667in</property>
<property name="dataSet">customer</property>
<list-property name="boundDataColumns">
<structure>
<property name="name">CUSTOMERNUMBER</property>
<text-property
name="displayName">CUSTOMERNUMBER</text-property>
<expression name="expression"
type="javascript">dataSetRow["CUSTOMERNUMBER"]</expression >
<property name="dataType">integer</property>
</structure>
<structure>
<property name="name">CUSTOMERNAME</property>
<text-property
name="displayName">CUSTOMERNAME</text-property>
<expression name="expression"
type="javascript">dataSetRow["CUSTOMERNAME"]</expression >
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">CONTACTLASTNAME</property>
<text-property
name="displayName">CONTACTLASTNAME</text-property>
<expression name="expression"
type="javascript">dataSetRow["CONTACTLASTNAME"]</expression >
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">CONTACTFIRSTNAME</property>
<text-property
name="displayName">CONTACTFIRSTNAME</text-property>
<expression name="expression"
type="javascript">dataSetRow["CONTACTFIRSTNAME"]</expression >
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">PHONE</property>
<text-property name="displayName">PHONE</text-property>
<expression name="expression"
type="javascript">dataSetRow["PHONE"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">ADDRESSLINE1</property>
<text-property
name="displayName">ADDRESSLINE1</text-property>
<expression name="expression"
type="javascript">dataSetRow["ADDRESSLINE1"]</expression >
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">ADDRESSLINE2</property>
<text-property
name="displayName">ADDRESSLINE2</text-property>
<expression name="expression"
type="javascript">dataSetRow["ADDRESSLINE2"]</expression >
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">CITY</property>
<text-property name="displayName">CITY</text-property>
<expression name="expression"
type="javascript">dataSetRow["CITY"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">STATE</property>
<text-property name="displayName">STATE</text-property>
<expression name="expression"
type="javascript">dataSetRow["STATE"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">POSTALCODE</property>
<text-property
name="displayName">POSTALCODE</text-property>
<expression name="expression"
type="javascript">dataSetRow["POSTALCODE"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">COUNTRY</property>
<text-property
name="displayName">COUNTRY</text-property>
<expression name="expression"
type="javascript">dataSetRow["COUNTRY"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">SALESREPEMPLOYEENUMBER</property>
<text-property
name="displayName">SALESREPEMPLOYEENUMBER</text-property>
<expression name="expression"
type="javascript">dataSetRow["SALESREPEMPLOYEENUMBER"]</expression >
<property name="dataType">integer</property>
</structure>
<structure>
<property name="name">CREDITLIMIT</property>
<text-property
name="displayName">CREDITLIMIT</text-property>
<expression name="expression"
type="javascript">dataSetRow["CREDITLIMIT"]</expression >
<property name="dataType">float</property>
</structure>
<structure>
<property name="name">sortletter</property>
<text-property
name="displayName">sortletter</text-property>
<expression name="expression"
type="javascript">dataSetRow["sortletter"]</expression>
<property name="dataType">string</property>
</structure>
</list-property>
<list-property name="sort">
<structure>
<expression name="key"
type="javascript">row["sortletter"]</expression>
<property name="direction">asc</property>
<property name="strength">-1</property>
</structure>
<structure>
<expression name="key"
type="javascript">BirtStr.toUpper(row["CUSTOMERNAME"])</expression >
<property name="direction">asc</property>
<property name="strength">-1</property>
</structure>
</list-property>
<column id="22">
<property name="width">0.9583333333333334in</property>
<property name="suppressDuplicates">false</property>
</column>
<column id="23">
<property name="width">2.96875in</property>
</column>
<column id="24">
<property name="width">4.020833333333333in</property>
</column>
<header>
<row id="10">
<property name="textAlign">left</property>
<cell id="11"/>
<cell id="12">
<label id="27">
<text-property
name="text">Customer</text-property>
</label>
</cell>
<cell id="13">
<label id="29">
<text-property
name="text">Contact</text-property>
</label>
</cell>
</row>
</header>
<group id="32">
<property name="groupName">CustNameLetter</property>
<property name="interval">none</property>
<property name="sortDirection">asc</property>
<expression name="keyExpr"
type="javascript">row["sortletter"]</expression>
<structure name="toc">
<expression name="expressionValue"
type="javascript">row["sortletter"]</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="33">
<cell id="34">
<property name="drop">all</property>
<data id="42">
<structure name="toc"/>
<method name="onCreate"><![CDATA[ /*var
curr =this.getRowData().getColumnValue("sortletter");
if( reportContext.getGlobalVariable("last") == null ){
reportContext.setGlobalVariable("last", curr);
}else{
if( curr == reportContext.getGlobalVariable("last")){
this.getStyle().display = "none";
}
reportContext.setGlobalVariable("last",curr);
}*/]]></method>
<property
name="resultSetColumn">sortletter</property>
</data>
</cell>
<cell id="35"/>
<cell id="36"/>
</row>
</header>
<footer>
<row id="37">
<cell id="38"/>
<cell id="39"/>
<cell id="40"/>
</row>
</footer>
</group>
<detail>
<row id="14">
<cell id="15"/>
<cell id="16">
<data id="28">
<property name="whiteSpace">nowrap</property>
<property
name="resultSetColumn">CUSTOMERNAME</property>
</data>
</cell>
<cell id="17">
<data id="31">
<property name="whiteSpace">nowrap</property>
<property name="display">inline</property>
<property
name="resultSetColumn">CONTACTFIRSTNAME</property>
</data>
<data id="30">
<property name="whiteSpace">nowrap</property>
<property name="display">inline</property>
<property
name="resultSetColumn">CONTACTLASTNAME</property>
</data>
</cell>
</row>
</detail>
<footer>
<row id="18">
<cell id="19"/>
<cell id="20"/>
<cell id="21"/>
</row>
</footer>
</table>
</body>
</report>


On 3/1/2011 5:05 PM, Chris wrote:
> Thanks Jason, I have used that method before successfully. Problem is
> that it doesn't show up the groups to the left of the report in PDF.
> However the book BIRT a Field Guide to reporting said there was a DROP
> property Instructions are:
> How to drop a group heading in a detail row
> 1 select the cell that contains the group heading you want to drop. The
> cell below must be empty.
> 2.On Property Editor, choose General from the list of Properties.
> 3. For Drop select one of the following values....detail, All.
>
> This would suggest that Drop is a property shown similarly to backgroud
> or Suppress Duplicates. Have you seen this property as I can't see it on
> the General properties page for the group cell, the group, the table or
> the report, nor in any other property for these items
>
> Does this property exist? The book mentions version 2_2_1 an earlier
> version. Has DROP been removed from 2_6_1?
>
> Thanks for your time
> Chris
Re: Group Header in Detail Line [message #657769 is a reply to message #657204] Thu, 03 March 2011 23:16 Go to previous message
Chris  is currently offline Chris Friend
Messages: 47
Registered: September 2010
Member
Thanks Jason,

I finally found it. And it works. The difference between selecting the data vs selecting the cell had escaped me. I hadn't realised that there were 2 layers

Thanks again Chris
Previous Topic:Error reading configuration: Unable to create lock manager
Next Topic:How to show the image in birt report?
Goto Forum:
  


Current Time: Fri Apr 19 22:59:56 GMT 2024

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

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

Back to the top