Skip to main content



      Home
Home » Archived » BIRT » Table width problem
Table width problem [message #258584] Wed, 17 October 2007 08:25 Go to next message
Eclipse UserFriend
Originally posted by: firstname.lastname.napa.fi

Hi!

I tried to create a table that would take just the space it needs (in=
=

birt 2.2.1), i.e. would not span the width of the whole page. However, I=
=

would not like to set % of page width or any absolute measure as the tab=
le =

width, I'd like birt to make the columns just big enough so that the =

contents fits in. Sounds easy.
I was unable to do this. =3D ( I tried leaving the width property of =
the =

table blank and marking "Can shrink". Neither did any good.


I found this post which seems to be on the same topic:

http://dev.eclipse.org/newslists/news.eclipse.birt/msg21463. html

I did not find any bugzilla entry about this. Is this a bug, or did I=
=

just miss some simple option?



-Antti-
Re: Table width problem [message #258694 is a reply to message #258584] Thu, 18 October 2007 09:58 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: jasonweathersby.alltel.net

Antti,

I believe the table will default to the whole page. You can set the
table width to a fixed number and the columns to a percent of that or
set the table width to a percentage of page width (PDF generation).
What exactly do you need and for what output?

Jason

Antti Karanta wrote:
>
>
> Hi!
>
> I tried to create a table that would take just the space it needs (in
> birt 2.2.1), i.e. would not span the width of the whole page. However, I
> would not like to set % of page width or any absolute measure as the
> table width, I'd like birt to make the columns just big enough so that
> the contents fits in. Sounds easy.
> I was unable to do this. = ( I tried leaving the width property of the
> table blank and marking "Can shrink". Neither did any good.
>
>
> I found this post which seems to be on the same topic:
>
> http://dev.eclipse.org/newslists/news.eclipse.birt/msg21463. html
>
> I did not find any bugzilla entry about this. Is this a bug, or did I
> just miss some simple option?
>
>
>
> -Antti-
Re: Table width problem [message #258803 is a reply to message #258694] Fri, 19 October 2007 01:48 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: firstname.lastname.napa.fi

On Thu, 18 Oct 2007 16:58:56 +0300, Jason Weathersby =

<jasonweathersby@alltel.net> wrote:

> I believe the table will default to the whole page. You can set the =

> table width to a fixed number and the columns to a percent of that or =
=

> set the table width to a percentage of page width (PDF generation). Wh=
at =

> exactly do you need and for what output?

Well, the basic idea is that if I had a table like this:

| Customer | Saldo |
------------------------
| John Doe | 11.2 |
| Mary Johnson | 23.4 |

then the cols would be autosized to fit the largest content (above in=
=

customer col "Mary Johnson" is the widest entry so it dictates the col =

width) and the table would be just big enough to fit all the cols, i.e. =
=

table width =3D sum of col widths.
So what I'm looking for is sort of an option to tell the table to =

"shrink to fit".


ATM I'm using PDF output, and will be using word output once =

https://bugs.eclipse.org/bugs/show_bug.cgi?id=3D204261 is resolved.



-Antti-
Re: Table width problem [message #258849 is a reply to message #258803] Fri, 19 October 2007 12:21 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: jasonweathersby.alltel.net

Antti,

Can you log a bugzilla entry for this?
There may be a better way to do this, but here is an example that calls
the table twice. once to calc widths (Hidden) and the other to display.
I use script on the table and on the two data elements.

Jason


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

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

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

<property name="units">in</property>

<property name="comments">Copyright (c) 2007 &lt;&lt;Your Company Name
here>></property>

<html-property name="description">Creates a blank report with no
predefined content.</html-property>

<method name="initialize"><![CDATA[colwd1 = 0;

colwd2 = 0;]]></method>

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

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

<data-sources>

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

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

<property
name="odaDriverClass">org.eclipse.birt.report.data.oda.sampledb.Driver </property>

<property name="odaURL">jdbc:classicmodels:sampledb</property>

<property name="odaUser">ClassicModels</property>

</oda-data-source>

</data-sources>

<data-sets>

<oda-data-set
extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet "
name="Data Set" id="7">

<list-property name="columnHints">

<structure>

<property name="columnName">CUSTOMERNUMBER</property>

<property name="displayName">CUSTOMERNUMBER</property>

</structure>

<structure>

<property name="columnName">CUSTOMERNAME</property>

<property name="displayName">CUSTOMERNAME</property>

</structure>

<structure>

<property name="columnName">CONTACTLASTNAME</property>

<property name="displayName">CONTACTLASTNAME</property>

</structure>

<structure>

<property name="columnName">CONTACTFIRSTNAME</property>

<property name="displayName">CONTACTFIRSTNAME</property>

</structure>

<structure>

<property name="columnName">PHONE</property>

<property name="displayName">PHONE</property>

</structure>

<structure>

<property name="columnName">ADDRESSLINE1</property>

<property name="displayName">ADDRESSLINE1</property>

</structure>

<structure>

<property name="columnName">ADDRESSLINE2</property>

<property name="displayName">ADDRESSLINE2</property>

</structure>

<structure>

<property name="columnName">CITY</property>

<property name="displayName">CITY</property>

</structure>

<structure>

<property name="columnName">STATE</property>

<property name="displayName">STATE</property>

</structure>

<structure>

<property name="columnName">POSTALCODE</property>

<property name="displayName">POSTALCODE</property>

</structure>

<structure>

<property name="columnName">COUNTRY</property>

<property name="displayName">COUNTRY</property>

</structure>

<structure>

<property name="columnName">SALESREPEMPLOYEENUMBER</property>

<property name="displayName">SALESREPEMPLOYEENUMBER</property>

</structure>

<structure>

<property name="columnName">CREDITLIMIT</property>

<property name="displayName">CREDITLIMIT</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>

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

<property name="nativeDataType">4</property>

</structure>

<structure>

<property name="position">2</property>

<property name="name">CUSTOMERNAME</property>

<property name="nativeName">CUSTOMERNAME</property>

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

<property name="nativeDataType">12</property>

</structure>

<structure>

<property name="position">3</property>

<property name="name">CONTACTLASTNAME</property>

<property name="nativeName">CONTACTLASTNAME</property>

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

<property name="nativeDataType">12</property>

</structure>

<structure>

<property name="position">4</property>

<property name="name">CONTACTFIRSTNAME</property>

<property name="nativeName">CONTACTFIRSTNAME</property>

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

<property name="nativeDataType">12</property>

</structure>

<structure>

<property name="position">5</property>

<property name="name">PHONE</property>

<property name="nativeName">PHONE</property>

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

<property name="nativeDataType">12</property>

</structure>

<structure>

<property name="position">6</property>

<property name="name">ADDRESSLINE1</property>

<property name="nativeName">ADDRESSLINE1</property>

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

<property name="nativeDataType">12</property>

</structure>

<structure>

<property name="position">7</property>

<property name="name">ADDRESSLINE2</property>

<property name="nativeName">ADDRESSLINE2</property>

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

<property name="nativeDataType">12</property>

</structure>

<structure>

<property name="position">8</property>

<property name="name">CITY</property>

<property name="nativeName">CITY</property>

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

<property name="nativeDataType">12</property>

</structure>

<structure>

<property name="position">9</property>

<property name="name">STATE</property>

<property name="nativeName">STATE</property>

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

<property name="nativeDataType">12</property>

</structure>

<structure>

<property name="position">10</property>

<property name="name">POSTALCODE</property>

<property name="nativeName">POSTALCODE</property>

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

<property name="nativeDataType">12</property>

</structure>

<structure>

<property name="position">11</property>

<property name="name">COUNTRY</property>

<property name="nativeName">COUNTRY</property>

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

<property name="nativeDataType">12</property>

</structure>

<structure>

<property name="position">12</property>

<property name="name">SALESREPEMPLOYEENUMBER</property>

<property name="nativeName">SALESREPEMPLOYEENUMBER</property>

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

<property name="nativeDataType">4</property>

</structure>

<structure>

<property name="position">13</property>

<property name="name">CREDITLIMIT</property>

<property name="nativeName">CREDITLIMIT</property>

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

<property name="nativeDataType">8</property>

</structure>

</list-property>

<property name="queryText">select *

from customers</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:resultSetDefinitions>

</design:ResultSets>

</model:DesignValues>

]]></xml-property>

</oda-data-set>

</data-sets>

<styles>

<style name="crosstab" id="4">

<property name="borderBottomColor">#CCCCCC</property>

<property name="borderBottomStyle">solid</property>

<property name="borderBottomWidth">1pt</property>

<property name="borderLeftColor">#CCCCCC</property>

<property name="borderLeftStyle">solid</property>

<property name="borderLeftWidth">1pt</property>

<property name="borderRightColor">#CCCCCC</property>

<property name="borderRightStyle">solid</property>

<property name="borderRightWidth">1pt</property>

<property name="borderTopColor">#CCCCCC</property>

<property name="borderTopStyle">solid</property>

<property name="borderTopWidth">1pt</property>

</style>

<style name="crosstab-cell" id="5">

<property name="borderBottomColor">#CCCCCC</property>

<property name="borderBottomStyle">solid</property>

<property name="borderBottomWidth">1pt</property>

<property name="borderLeftColor">#CCCCCC</property>

<property name="borderLeftStyle">solid</property>

<property name="borderLeftWidth">1pt</property>

<property name="borderRightColor">#CCCCCC</property>

<property name="borderRightStyle">solid</property>

<property name="borderRightWidth">1pt</property>

<property name="borderTopColor">#CCCCCC</property>

<property name="borderTopStyle">solid</property>

<property name="borderTopWidth">1pt</property>

</style>

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

<property name="width">4in</property>

<property name="dataSet">Data Set</property>

<list-property name="visibility">

<structure>

<property name="format">all</property>

<expression name="valueExpr">true</expression>

</structure>

</list-property>

<list-property name="boundDataColumns">

<structure>

<property name="name">CUSTOMERNUMBER</property>

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

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

</structure>

<structure>

<property name="name">CUSTOMERNAME</property>

<expression name="expression">ggg = dataSetRow["CUSTOMERNAME"].length;

dataSetRow["CUSTOMERNAME"];</expression>

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

</structure>

<structure>

<property name="name">CONTACTLASTNAME</property>

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

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

</structure>

<structure>

<property name="name">CONTACTFIRSTNAME</property>

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

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

</structure>

<structure>

<property name="name">PHONE</property>

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

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

</structure>

<structure>

<property name="name">ADDRESSLINE1</property>

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

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

</structure>

<structure>

<property name="name">ADDRESSLINE2</property>

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

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

</structure>

<structure>

<property name="name">CITY</property>

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

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

</structure>

<structure>

<property name="name">STATE</property>

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

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

</structure>

<structure>

<property name="name">POSTALCODE</property>

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

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

</structure>

<structure>

<property name="name">COUNTRY</property>

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

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

</structure>

<structure>

<property name="name">SALESREPEMPLOYEENUMBER</property>

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

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

</structure>

<structure>

<property name="name">CREDITLIMIT</property>

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

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

</structure>

<structure>

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

<expression name="expression">ggg;</expression>

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

</structure>

</list-property>

<column id="18">

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

</column>

<column id="19"/>

<header>

<row id="9">

<cell id="10">

<label id="20">

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

</label>

</cell>

<cell id="11">

<label id="22">

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

</label>

</cell>

</row>

</header>

<detail>

<row id="12">

<method name="onCreate"><![CDATA[var col1 =
this.getRowData().getColumnValue("CUSTOMERNAME").toString().length();

var col2 =
this.getRowData().getColumnValue("CONTACTLASTNAME").toString().length();


if( col1 > colwd1 ){

colwd1 = col1;

}

if( col2 > colwd2 ){

colwd2 = col2;

}]]></method>

<cell id="13">

<data id="21">

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

</data>

</cell>

<cell id="14">

<data id="23">

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

</data>

</cell>

</row>

</detail>

<footer>

<row id="15">

<cell id="16"/>

<cell id="17"/>

</row>

</footer>

</table>

<table id="52">

<property name="borderBottomColor">#000000</property>

<property name="borderBottomStyle">solid</property>

<property name="borderBottomWidth">medium</property>

<property name="borderLeftColor">#000000</property>

<property name="borderLeftStyle">solid</property>

<property name="borderLeftWidth">medium</property>

<property name="borderRightColor">#000000</property>

<property name="borderRightStyle">solid</property>

<property name="borderRightWidth">medium</property>

<property name="borderTopColor">#000000</property>

<property name="borderTopStyle">solid</property>

<property name="borderTopWidth">medium</property>

<property name="canShrink">true</property>

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

<property name="dataSet">Data Set</property>

<list-property name="boundDataColumns">

<structure>

<property name="name">CUSTOMERNUMBER</property>

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

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

</structure>

<structure>

<property name="name">CUSTOMERNAME</property>

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

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

</structure>

<structure>

<property name="name">CONTACTLASTNAME</property>

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

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

</structure>

<structure>

<property name="name">CONTACTFIRSTNAME</property>

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

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

</structure>

<structure>

<property name="name">PHONE</property>

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

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

</structure>

<structure>

<property name="name">ADDRESSLINE1</property>

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

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

</structure>

<structure>

<property name="name">ADDRESSLINE2</property>

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

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

</structure>

<structure>

<property name="name">CITY</property>

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

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

</structure>

<structure>

<property name="name">STATE</property>

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

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

</structure>

<structure>

<property name="name">POSTALCODE</property>

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

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

</structure>

<structure>

<property name="name">COUNTRY</property>

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

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

</structure>

<structure>

<property name="name">SALESREPEMPLOYEENUMBER</property>

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

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

</structure>

<structure>

<property name="name">CREDITLIMIT</property>

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

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

</structure>

<structure>

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

<expression name="expression">this.width = colwd1 + "ex";</expression>

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

</structure>

<structure>

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

<expression name="expression">this.width = colwd2 + "ex";</expression>

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

</structure>

</list-property>

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

var wd = Integer.parseInt( colwd1 ) + Integer.parseInt(colwd2);

wd = wd/14;

this.width = wd + "in";]]></method>

<column id="62"/>

<column id="63"/>

<header>

<row id="53">

<cell id="54">

<label id="66">

<property name="textAlign">left</property>

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

</label>

</cell>

<cell id="55">

<label id="68">

<property name="textAlign">left</property>

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

</label>

</cell>

</row>

</header>

<detail>

<row id="56">

<cell id="57">

<data id="67">

<method name="onCreate"><![CDATA[this.width = colwd1/14 + "in";]]></method>

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

</data>

</cell>

<cell id="58">

<data id="69">

<method name="onCreate"><![CDATA[this.width = colwd2/14 + "in";]]></method>

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

</data>

</cell>

</row>

</detail>

<footer>

<row id="59">

<cell id="60"/>

<cell id="61"/>

</row>

</footer>

</table>

</body>

</report>



Antti Karanta wrote:
>
> On Thu, 18 Oct 2007 16:58:56 +0300, Jason Weathersby
> <jasonweathersby@alltel.net> wrote:
>
>> I believe the table will default to the whole page. You can set the
>> table width to a fixed number and the columns to a percent of that or
>> set the table width to a percentage of page width (PDF generation).
>> What exactly do you need and for what output?
>
> Well, the basic idea is that if I had a table like this:
>
> | Customer | Saldo |
> ------------------------
> | John Doe | 11.2 |
> | Mary Johnson | 23.4 |
>
> then the cols would be autosized to fit the largest content (above in
> customer col "Mary Johnson" is the widest entry so it dictates the col
> width) and the table would be just big enough to fit all the cols, i.e.
> table width = sum of col widths.
> So what I'm looking for is sort of an option to tell the table to
> "shrink to fit".
>
>
> ATM I'm using PDF output, and will be using word output once
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=204261 is resolved.
>
>
>
> -Antti-
Re: Table width problem [message #258944 is a reply to message #258849] Mon, 22 October 2007 02:47 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: firstname.lastname.napa.fi

On Fri, 19 Oct 2007 19:21:07 +0300, Jason Weathersby =

<jasonweathersby@alltel.net> wrote:

> Can you log a bugzilla entry for this?

Done: https://bugs.eclipse.org/bugs/show_bug.cgi?id=3D207020


> There may be a better way to do this, but here is an example that call=
s =

> the table twice. once to calc widths (Hidden) and the other to displa=
y. =

> I use script on the table and on the two data elements.

A bit tedious, but I suppose it works.

You use a heuristic that str size in inches =3D str len in chars / 14=
.. =

Have you used this extensively, i.e. has it proved to be a good estimate=
?



-Antti-
Re: Table width problem [message #258981 is a reply to message #258944] Mon, 22 October 2007 09:12 Go to previous message
Eclipse UserFriend
Originally posted by: jasonweathersby.alltel.net

Antti,

No. You may want to experiment with ems and other sizes.

Jason

Antti Karanta wrote:
>
> On Fri, 19 Oct 2007 19:21:07 +0300, Jason Weathersby
> <jasonweathersby@alltel.net> wrote:
>
>> Can you log a bugzilla entry for this?
>
> Done: https://bugs.eclipse.org/bugs/show_bug.cgi?id=207020
>
>
>> There may be a better way to do this, but here is an example that
>> calls the table twice. once to calc widths (Hidden) and the other to
>> display. I use script on the table and on the two data elements.
>
> A bit tedious, but I suppose it works.
>
> You use a heuristic that str size in inches = str len in chars / 14.
> Have you used this extensively, i.e. has it proved to be a good estimate?
>
>
>
> -Antti-
>
Previous Topic:Report API help
Next Topic:Java desktop app reporting
Goto Forum:
  


Current Time: Mon Nov 03 03:46:10 EST 2025

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

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

Back to the top