Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » BIRT » Problems with DATASETS - Urgent :/
Problems with DATASETS - Urgent :/ [message #368313] Wed, 20 May 2009 17:04 Go to next message
Sergio Gomes is currently offline Sergio GomesFriend
Messages: 7
Registered: July 2009
Junior Member
Hi,

In database i had:

Article 1 > Prices: 10€, 20€, 30€
Article 2 > Prices: 500€, 600€, 700€

Iam using Datanucleus.

In Report i had this datasets:

+Articles (dataset#1)
openMethod : iterate_article = article.iterator();
fetchMethod : if (!iterate_article.hasNext()) return false;
article = iterate_article.next();
row["code"] = article.code();
(....)
return true;


+Prices (dataset #2)
openMethod: iterate_prices = article.getPrices().iterator();
fetchMethod: if (!iterate_prices.hasNext()) return false;
price = iterate_prices.next();
row["price"] = price.getValue();
return false;


In Layout i create a Table (with dataset#1) with two details rows. At
first row i put the fields of dataset #1, in second row details i add a
Table (with dataset#2).



When i render the report, appears like this:

| Code | Description |
1 Article 1
|Price|
500
600
700
| Code | Description |
2 Article 2
|Price|
500
600
700


All articles assumes the price's of the LAST article! Why? Can u Help me
please?

In report should appear:

| Code | Description |
1 Article 1
|Price|
10
20
30
| Code | Description |
2 Article 2
|Price|
500
600
700


Thanks!
Re: Problems with DATASETS - Urgent :/ [message #368321 is a reply to message #368313] Wed, 20 May 2009 17:54 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: jasonweathersby.alltel.net

Sergio,

Parameterize the inner dataset. Take a look at this example.

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) 2006 &lt;&lt;Your Company
Name here>></property>
<method name="initialize"><![CDATA[importPackage( Packages.java.util );
importPackage( Packages.java.lang );

var outerMap = new Hashtable();
var innerMap = new Hashtable();

for ( i=0; i<10; i++ ){
var mystring = "Outerrow_" + i;
var myinnerstring = "Innerrow_" + i;
outerMap.put(i, mystring);
innerMap.put( mystring, myinnerstring );
}
reportContext.setPersistentGlobalVariable("outerMap", outerMap);
reportContext.setPersistentGlobalVariable("innerMap", innerMap);]]></method>
<data-sources>
<script-data-source name="Data Source" id="4"/>
</data-sources>
<data-sets>
<script-data-set name="outer" id="5">
<list-property name="resultSetHints">
<structure>
<property name="position">0</property>
<property name="name">outtercol</property>
<property name="dataType">string</property>
</structure>
</list-property>
<list-property name="columnHints">
<structure>
<property name="columnName">outtercol</property>
</structure>
</list-property>
<structure name="cachedMetaData">
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">outtercol</property>
<property name="dataType">string</property>
</structure>
</list-property>
</structure>
<property name="dataSource">Data Source</property>
<method name="open"><![CDATA[hMap =
reportContext.getPersistentGlobalVariable("outerMap");
iter = hMap.entrySet().iterator();]]></method>
<method name="fetch"><![CDATA[if( iter.hasNext() ){
myObject = iter.next();
row["outtercol"] = myObject.getValue().toString();
return true;

}else{

return false;

}]]></method>
</script-data-set>
<script-data-set name="inner" id="6">
<list-property name="resultSetHints">
<structure>
<property name="position">0</property>
<property name="name">innercol</property>
<property name="dataType">string</property>
</structure>
</list-property>
<list-property name="columnHints">
<structure>
<property name="columnName">innercol</property>
</structure>
</list-property>
<structure name="cachedMetaData">
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">innercol</property>
<property name="dataType">string</property>
</structure>
</list-property>
</structure>
<property name="dataSource">Data Source</property>
<list-property name="parameters">
<structure>
<property name="name">innerparm</property>
<property name="dataType">string</property>
<property name="position">1</property>
<expression name="defaultValue">testkey</expression>
<property name="isInput">true</property>
<property name="isOutput">true</property>
</structure>
</list-property>
<method name="open"><![CDATA[i = 0;
jj = inputParams["innerparm"];]]></method>
<method name="fetch"><![CDATA[iMap =
reportContext.getPersistentGlobalVariable("innerMap");
inObj = iMap.get(jj);
if( i > 0 )return false;

if( inObj != null ){
row["innercol"] = inObj.toString();

}
i++
return true;]]></method>
</script-data-set>
</data-sets>
<styles>
<style name="detail" id="54">
<property name="backgroundColor">#BACAE2</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="headerfooter" id="55">
<property name="backgroundColor">#004080</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
</style>
<style name="groupheader" id="56">
<property name="backgroundColor">#0080FF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</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 name="myoutertable" id="7">
<property name="width">100%</property>
<property name="dataSet">outer</property>
<list-property name="boundDataColumns">
<structure>
<property name="name">outtercol</property>
<expression
name="expression">dataSetRow["outtercol"]</expression>
<property name="dataType">string</property>
</structure>
</list-property>
<column id="16"/>
<column id="20"/>
<header>
<row id="8">
<property name="style">headerfooter</property>
<cell id="9">
<label id="10">
<text-property
name="text">OuterDSCol</text-property>
</label>
</cell>
<cell id="17"/>
</row>
</header>
<detail>
<row id="11">
<property name="style">detail</property>
<cell id="12">
<data id="13">
<property
name="resultSetColumn">outtercol</property>
</data>
</cell>
<cell id="18">
<table name="innertable" id="21">
<property name="width">100%</property>
<property name="dataSet">inner</property>
<list-property name="paramBindings">
<structure>
<property
name="paramName">innerparm</property>
<expression
name="expression">row["outtercol"]</expression>
</structure>
</list-property>
<list-property name="boundDataColumns">
<structure>
<property
name="name">innercol</property>
<expression
name="expression">dataSetRow["innercol"]</expression>
<property
name="dataType">string</property>
</structure>
<structure>
<property name="name">Column
Binding</property>
<expression
name="expression">row._outer[row.__rownum]</expression>
<property
name="dataType">any</property>
</structure>
</list-property>
<expression
name="bookmark">"innertableforrow"+row._outer[row.__rownum] </expression>
<column id="59"/>
<column id="30"/>
<header>
<row id="22">
<cell id="57"/>
<cell id="23">
<label id="24">
<text-property
name="text">InnerDataSetCol</text-property>
</label>
</cell>
</row>
</header>
<detail>
<row id="25">
<property
name="style">groupheader</property>
<cell id="58">
<data id="60">
<property
name="resultSetColumn">Column Binding</property>
</data>
</cell>
<cell id="26">
<data id="27">
<property
name="resultSetColumn">innercol</property>
</data>
</cell>
</row>
</detail>
</table>
</cell>
</row>
</detail>
<footer>
<row id="14">
<property name="style">headerfooter</property>
<cell id="15"/>
<cell id="19"/>
</row>
</footer>
</table>
</body>
</report>


Sergio Gomes wrote:
> Hi,
>
> In database i had:
>
> Article 1 > Prices: 10�, 20�, 30�
> Article 2 > Prices: 500�, 600�, 700�
>
> Iam using Datanucleus.
>
> In Report i had this datasets:
>
> +Articles (dataset#1)
> openMethod : iterate_article = article.iterator();
> fetchMethod : if (!iterate_article.hasNext()) return false;
> article = iterate_article.next();
> row["code"] = article.code();
> (....)
> return true;
>
>
> +Prices (dataset #2)
> openMethod: iterate_prices = article.getPrices().iterator();
> fetchMethod: if (!iterate_prices.hasNext()) return false;
> price = iterate_prices.next();
> row["price"] = price.getValue();
> return false;
>
>
> In Layout i create a Table (with dataset#1) with two details rows. At
> first row i put the fields of dataset #1, in second row details i add a
> Table (with dataset#2).
>
>
>
> When i render the report, appears like this:
>
> | Code | Description |
> 1 Article 1
> |Price|
> 500 600
> 700
> | Code | Description |
> 2 Article 2
> |Price|
> 500
> 600
> 700
>
>
> All articles assumes the price's of the LAST article! Why? Can u Help me
> please?
>
> In report should appear:
>
> | Code | Description |
> 1 Article 1
> |Price|
> 10
> 20
> 30
> | Code | Description |
> 2 Article 2
> |Price|
> 500
> 600
> 700
>
>
> Thanks!
>
>
>
>
>
>
>
>
>
Re: Problems with DATASETS - Urgent :/ [message #368340 is a reply to message #368321] Fri, 22 May 2009 14:05 Go to previous messageGo to next message
Sergio Gomes is currently offline Sergio GomesFriend
Messages: 7
Registered: July 2009
Junior Member
Hi Jason,

thanks for help me! I get your report but i dont understand where u fill
the inputParam[].

I search for Binding dataset but i can't solve my problem, can u describe
step by step ?

Thanks.
Re: Problems with DATASETS - Urgent :/ [message #368342 is a reply to message #368340] Fri, 22 May 2009 14:21 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: jasonweathersby.windstream.net

Sergio,

The inputParams for the inner dataset is set in the inner table binding.
Select the inner table, click the binding tab and then press
the Dataset Parameter Binding button and you will see that the parameter
is set from the outer table's row value.

It is read in the open script of the inner tables dataset.
jj = inputParams["innerparm"];

Jason

Sergio Gomes wrote:
> Hi Jason,
>
> thanks for help me! I get your report but i dont understand where u fill
> the inputParam[].
>
> I search for Binding dataset but i can't solve my problem, can u
> describe step by step ?
>
> Thanks.
>
Re: Problems with DATASETS - Urgent :/ [message #368352 is a reply to message #368342] Fri, 22 May 2009 17:01 Go to previous messageGo to next message
Sergio Gomes is currently offline Sergio GomesFriend
Messages: 7
Registered: July 2009
Junior Member
Hi,

Thanks Jason for your help!

It works! =)

Now i Have to found, how to crete this Binding Parameter programatly..

Something like this...

scriptDataSet = factory.newScriptDataSet("articles");
scriptDataSet.setDataSource(BirtVARS.parameters_datasource);
scriptDataSet.setOpen(openMethod);
scriptDataSet.setFetch(fetchMethod);
Re: Problems with DATASETS - Urgent :/ [message #368367 is a reply to message #368352] Tue, 26 May 2009 14:29 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: jasonweathersby.windstream.net

Sergio,

Take a look at this simple example:

package DEAPI;


import java.io.File;
import java.io.IOException;
import org.eclipse.birt.core.framework.Platform;
import org.eclipse.birt.report.model.api.CellHandle;
import org.eclipse.birt.report.model.api.DataItemHandle;
import org.eclipse.birt.report.model.api.DesignConfig;
import org.eclipse.birt.report.model.api.DesignElementHandle;
import org.eclipse.birt.report.model.api.DesignEngine;
import org.eclipse.birt.report.model.api.ElementFactory;
import org.eclipse.birt.report.model.api.IDesignEngine;
import org.eclipse.birt.report.model.api.IDesignEngineFactory;
import org.eclipse.birt.report.model.api.LabelHandle;
import org.eclipse.birt.report.model.api.PropertyHandle;
import org.eclipse.birt.report.model.api.ReportDesignHandle;
import org.eclipse.birt.report.model.api.RowHandle;
import org.eclipse.birt.report.model.api.OdaDataSetHandle;
import org.eclipse.birt.report.model.api.OdaDataSourceHandle;
import org.eclipse.birt.report.model.api.SessionHandle;
import org.eclipse.birt.report.model.api.StructureFactory;
import org.eclipse.birt.report.model.api.StyleHandle;
import org.eclipse.birt.report.model.api.TableGroupHandle;
import org.eclipse.birt.report.model.api.TableHandle;
import org.eclipse.birt.report.model.api.ColumnHandle;

import org.eclipse.birt.report.model.api.activity.SemanticException ;
import org.eclipse.birt.report.model.api.command.ContentException;
import org.eclipse.birt.report.model.api.command.NameException;
import org.eclipse.birt.report.model.api.elements.DesignChoiceConst ants;
import org.eclipse.birt.report.model.api.elements.structures.Comput edColumn;
import org.eclipse.birt.report.model.api.metadata.IMetaDataDictiona ry;
import org.eclipse.birt.report.model.elements.interfaces.IReportIte mModel;
import org.eclipse.birt.report.model.elements.interfaces.IStyleMode l;

import org.eclipse.birt.report.model.api.ScriptDataSetHandle;
import org.eclipse.birt.report.model.api.ScriptDataSourceHandle;
import com.ibm.icu.util.ULocale;
import
org.eclipse.birt.report.model.api.elements.structures.Result SetColumn;
import java.util.Iterator;
import java.util.List;
import org.eclipse.birt.report.model.api.DataSetHandle;

public class ScriptedDS
{

ReportDesignHandle reportDesignHandle = null;

ElementFactory elementFactory = null;

IMetaDataDictionary dict = null;

ComputedColumn cs1, cs2, cs3, cs4, cs5 = null;

public static void main( String[] args ) throws SemanticException,
IOException
{
new ScriptedDS( ).createReport( );
}

void createReport( ) throws SemanticException, IOException
{
//Configure the Engine and start the Platform
DesignConfig config = new DesignConfig( );

config.setBIRTHome("C:/birt/birt-runtime-2_3_2/birt-runtime-2_3_2/ReportEngine ");
IDesignEngine engine = null;
try{


Platform.startup( config );
IDesignEngineFactory factory = (IDesignEngineFactory) Platform
.createFactoryObject(
IDesignEngineFactory.EXTENSION_DESIGN_ENGINE_FACTORY );
engine = factory.createDesignEngine( config );

}catch( Exception ex){
ex.printStackTrace();
}


SessionHandle session = engine.newSessionHandle( ULocale.ENGLISH ) ;


// Create a new report
reportDesignHandle = session.createDesign( );

// Element factory is used to create instances of BIRT elements.
elementFactory = reportDesignHandle.getElementFactory( );

dict = new DesignEngine( null ).getMetaData( );

createMasterPages( );
createDataSources( );
createDataSets( );
createBody( );


reportDesignHandle.saveAs("output/desample/SDS.rptdesign"
);//$NON-NLS-1$//$NON-NLS-2$
reportDesignHandle.close();

System.out.println("finished");

Platform.shutdown();
}

//Scripted Data Set

private void createDataSources( ) throws SemanticException
{
ScriptDataSourceHandle dataSourceHandle =
elementFactory.newScriptDataSource( "Data Source" );
reportDesignHandle.getDataSources( ).add( dataSourceHandle );
}

private void createDataSets( ) throws SemanticException
{



ScriptDataSetHandle dataSetHandle = elementFactory.newScriptDataSet(
"Data Set" );//$NON-NLS-1$
dataSetHandle.setDataSource( "Data Source" );//$NON-NLS-1$

// Set open( ) in code
dataSetHandle.setOpen( "i=0;"
);

// Set fetch( ) in code
dataSetHandle.setFetch( "if ( i < 20 ){"
+ "row[\"Month\"] = 1;"
+ "row[\"Product\"] = 'My Product' + parseInt(i/3);"
+ "row[\"Amount\"] = i;"
+ "i++;"
+ "return true;}" + "else return false;" );



PropertyHandle computedSet =
dataSetHandle.getPropertyHandle(ScriptDataSetHandle.RESULT_S ET_PROP);

// Since this is a Scripted Data Source you need to tell the
// DataSet what the columns are. For this example, we will just
// hard code the known resultColumn values
ResultSetColumn resultColumn = StructureFactory.createResultSetColumn();
resultColumn.setPosition(1);
resultColumn.setColumnName("Month");
resultColumn.setDataType("integer");
computedSet.addItem(resultColumn);

resultColumn = StructureFactory.createResultSetColumn();
resultColumn.setPosition(2);
resultColumn.setColumnName("Product");
resultColumn.setDataType("string");
computedSet.addItem(resultColumn);

resultColumn = StructureFactory.createResultSetColumn();
resultColumn.setPosition(3);
resultColumn.setColumnName("Amount");
resultColumn.setDataType("integer");

computedSet.addItem(resultColumn);


reportDesignHandle.getDataSets( ).add( dataSetHandle );


}






private void createMasterPages( ) throws ContentException, NameException
{
DesignElementHandle simpleMasterPage =
elementFactory.newSimpleMasterPage( "Master Page" );//$NON-NLS-1$
reportDesignHandle.getMasterPages( ).add( simpleMasterPage );
}



private void createBody( ) throws SemanticException
{


TableHandle table = elementFactory.newTableItem( null, 3, 1, 1, 1 );
table.setProperty( IStyleModel.TEXT_ALIGN_PROP,
DesignChoiceConstants.TEXT_ALIGN_CENTER );
table.setWidth( "80%" );//$NON-NLS-1$
table.setProperty( IReportItemModel.DATA_SET_PROP, "Data Set"
);//$NON-NLS-1$

ColumnHandle ch = (ColumnHandle)table.getColumns().get(0);
//ch.setProperty("Width", "3in");
ch.getWidth().setStringValue("3in");


// bind the data set columns to the table
DataSetHandle dataSetHandle = (DataSetHandle)
reportDesignHandle.getDataSets().get(0);
List resultSetCols =
dataSetHandle.getListProperty(DataSetHandle.RESULT_SET_PROP) ;
PropertyHandle boundCols = table.getColumnBindings();
for (Iterator iterator = resultSetCols.iterator(); iterator.hasNext();) {
ResultSetColumn rsHandle = (ResultSetColumn) iterator.next();
ComputedColumn col = StructureFactory.createComputedColumn();
col.setName(rsHandle.getColumnName());
col.setExpression("dataSetRow[\"" + rsHandle.getColumnName() + "\"]");
boundCols.addItem(col);
}


// Header
RowHandle header = (RowHandle) table.getHeader( ).get( 0 );

CellHandle tcell = (CellHandle) header.getCells( ).get( 0 );
tcell.getWidth().setStringValue("3in");
LabelHandle label = elementFactory.newLabel( null );
label.setText( "Order" );//$NON-NLS-1$
tcell.getContent( ).add( label );

tcell = (CellHandle) header.getCells( ).get( 1 );
label = elementFactory.newLabel( null );
label.setText( "Product" );//$NON-NLS-1$
tcell.getContent( ).add( label );

tcell = (CellHandle) header.getCells( ).get( 2 );
label = elementFactory.newLabel( null );
label.setText( "Amount" );//$NON-NLS-1$
tcell.getContent( ).add( label );

RowHandle detail = (RowHandle) table.getDetail( ).get( 0 );
DataItemHandle data = elementFactory.newDataItem( null );

tcell = (CellHandle) detail.getCells( ).get( 1 );
data = elementFactory.newDataItem( null );
data.setResultSetColumn("Product");
tcell.getContent( ).add( data );

tcell = (CellHandle) detail.getCells( ).get( 2 );
data = elementFactory.newDataItem( null );
data.setResultSetColumn( "Amount" );
tcell.getContent( ).add( data );
reportDesignHandle.getBody( ).add( table );
}
}

Jason

Sergio Gomes wrote:
> Hi,
>
> Thanks Jason for your help!
>
> It works! =)
>
> Now i Have to found, how to crete this Binding Parameter programatly..
> Something like this...
>
> scriptDataSet = factory.newScriptDataSet("articles");
> scriptDataSet.setDataSource(BirtVARS.parameters_datasource);
> scriptDataSet.setOpen(openMethod);
> scriptDataSet.setFetch(fetchMethod);
>
>
>
>
>
Re: Problems with DATASETS - Urgent :/ [message #368380 is a reply to message #368367] Wed, 27 May 2009 02:19 Go to previous messageGo to next message
Sergio Gomes is currently offline Sergio GomesFriend
Messages: 7
Registered: July 2009
Junior Member
Thanks Janson!

Your post helps me a lot, thanks.

Now I have one problem..

I have 2 datasets as u know, DataSet2 inside Dataset1, inside the Table
component of Dataset1 i add a component Data, but i can't multiply
Dataset1.field1 with DataSet2.field7... why? can u help me? I post this
question at Main Forum.

Thanks.
Re: Problems with DATASETS - Urgent :/ [message #368392 is a reply to message #368380] Wed, 27 May 2009 16:46 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: jasonweathersby.windstream.net

Sergio,

You should be able to add a data element to the inner table that has an
expression similar to:

row._outer["outtercol"]*row["innercol"]

The trick is that the data element has to be in the inner table not the
outer.

Jason

Sergio Gomes wrote:
> Thanks Janson!
>
> Your post helps me a lot, thanks.
>
> Now I have one problem..
>
> I have 2 datasets as u know, DataSet2 inside Dataset1, inside the Table
> component of Dataset1 i add a component Data, but i can't multiply
> Dataset1.field1 with DataSet2.field7... why? can u help me? I post this
> question at Main Forum.
>
> Thanks.
>
Re: Problems with DATASETS - Urgent :/ [message #368399 is a reply to message #368392] Wed, 27 May 2009 17:05 Go to previous messageGo to next message
Sergio Gomes is currently offline Sergio GomesFriend
Messages: 7
Registered: July 2009
Junior Member
Hi Janson,

thanks once again, i tryed your example and it works.

But i really need the data element in outter table :/

Is there a way to do that?

Thanks!
Re: Problems with DATASETS - Urgent :/ [message #368408 is a reply to message #368399] Wed, 27 May 2009 19:09 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: jasonweathersby.windstream.net

Sergio,

The only way I know to do that is to put the same table above it and use
a global variable. Then hide the table before. If you try to do it in
the one table it will be one row behind when the value is evaluated as
the attached example illustrates:

Jason

<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.17"
id="1">
<property name="createdBy">Eclipse BIRT Designer Version
2.3.2.r232_20090202 Build &lt;2.3.2.v20090218-0730></property>
<property name="units">in</property>
<property name="comments">Copyright (c) 2006 &lt;&lt;Your Company
Name here>></property>
<method name="initialize"><![CDATA[importPackage( Packages.java.util );
importPackage( Packages.java.lang );

var outerMap = new Hashtable();
var innerMap = new Hashtable();

for ( i=0; i<50; i++ ){
var mystring = "Outerrow_" + i;
var myinnerstring = "Innerrow_" + i;
outerMap.put(i, mystring);
innerMap.put( mystring, myinnerstring );
}
reportContext.setPersistentGlobalVariable("outerMap", outerMap);
reportContext.setPersistentGlobalVariable("innerMap", innerMap);]]></method>
<data-sources>
<script-data-source name="Data Source" id="4"/>
</data-sources>
<data-sets>
<script-data-set name="outer" id="5">
<list-property name="resultSetHints">
<structure>
<property name="position">0</property>
<property name="name">outtercol</property>
<property name="dataType">string</property>
</structure>
</list-property>
<list-property name="columnHints">
<structure>
<property name="columnName">outtercol</property>
</structure>
</list-property>
<structure name="cachedMetaData">
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">outtercol</property>
<property name="dataType">string</property>
</structure>
</list-property>
</structure>
<property name="dataSource">Data Source</property>
<method name="open"><![CDATA[hMap =
reportContext.getPersistentGlobalVariable("outerMap");
iter = hMap.entrySet().iterator();]]></method>
<method name="fetch"><![CDATA[if( iter.hasNext() ){
myObject = iter.next();
row["outtercol"] = myObject.getValue().toString();
return true;

}else{

return false;

}]]></method>
</script-data-set>
<script-data-set name="inner" id="6">
<list-property name="resultSetHints">
<structure>
<property name="position">0</property>
<property name="name">innercol</property>
<property name="dataType">string</property>
</structure>
</list-property>
<list-property name="columnHints">
<structure>
<property name="columnName">innercol</property>
</structure>
</list-property>
<structure name="cachedMetaData">
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">innercol</property>
<property name="dataType">string</property>
</structure>
</list-property>
</structure>
<property name="dataSource">Data Source</property>
<list-property name="parameters">
<structure>
<property name="name">innerparm</property>
<property name="dataType">string</property>
<property name="position">1</property>
<expression name="defaultValue">testkey</expression>
<property name="isInput">true</property>
<property name="isOutput">true</property>
</structure>
</list-property>
<method name="open"><![CDATA[i = 0;
jj = inputParams["innerparm"];]]></method>
<method name="fetch"><![CDATA[iMap =
reportContext.getPersistentGlobalVariable("innerMap");
inObj = iMap.get(jj);
if( i > 0 )return false;

if( inObj != null ){
row["innercol"] = inObj.toString();

}
i++
return true;]]></method>
</script-data-set>
</data-sets>
<styles>
<style name="detail" id="54">
<property name="backgroundColor">#BACAE2</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="headerfooter" id="55">
<property name="backgroundColor">#004080</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
</style>
<style name="groupheader" id="56">
<property name="backgroundColor">#0080FF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</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="7">
<property name="width">100%</property>
<property name="dataSet">outer</property>
<list-property name="boundDataColumns">
<structure>
<property name="name">outtercol</property>
<expression
name="expression">dataSetRow["outtercol"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">gblvartest</property>
<expression
name="expression">reportContext.getGlobalVariable("tstvar ");</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">Column Binding</property>
<expression name="expression">var
tst=reportContext.getGlobalVariable("tstvar");
if( tst == null ){
"null";
}else{
tst;
}</expression>
<property name="dataType">string</property>
</structure>
</list-property>
<property name="pageBreakInterval">50</property>
<column id="16"/>
<column id="65"/>
<column id="20"/>
<column id="60"/>
<header>
<row id="8">
<property name="style">headerfooter</property>
<cell id="9">
<label id="10">
<text-property
name="text">OuterDSCol</text-property>
</label>
</cell>
<cell id="62"/>
<cell id="17"/>
<cell id="57"/>
</row>
</header>
<detail>
<row id="11">
<property name="style">detail</property>
<cell id="12">
<data id="13">
<property
name="resultSetColumn">outtercol</property>
</data>
</cell>
<cell id="63"/>
<cell id="18">
<table id="21">
<property name="width">100%</property>
<property name="dataSet">inner</property>
<list-property name="paramBindings">
<structure>
<property
name="paramName">innerparm</property>
<expression
name="expression">row["outtercol"]</expression>
</structure>
</list-property>
<list-property name="boundDataColumns">
<structure>
<property
name="name">innercol</property>
<expression
name="expression">reportContext.setGlobalVariable("tstvar ",dataSetRow["innercol"]);
dataSetRow["innercol"];</expression>
<property
name="dataType">string</property>
</structure>
</list-property>
<property
name="pageBreakInterval">50</property>
<column id="30"/>
<header>
<row id="22">
<cell id="23">
<label id="24">
<text-property
name="text">InnerDataSetCol</text-property>
</label>
</cell>
</row>
</header>
<detail>
<row id="25">
<property
name="style">groupheader</property>
<cell id="26">
<data id="27">
<property
name="resultSetColumn">innercol</property>
</data>
</cell>
</row>
</detail>
</table>
</cell>
<cell id="58">
<data id="67">
<property name="resultSetColumn">Column
Binding</property>
</data>
</cell>
</row>
</detail>
<footer>
<row id="14">
<property name="style">headerfooter</property>
<cell id="15"/>
<cell id="64"/>
<cell id="19"/>
<cell id="59"/>
</row>
</footer>
</table>
</body>
</report>


Sergio Gomes wrote:
> Hi Janson,
> thanks once again, i tryed your example and it works.
>
> But i really need the data element in outter table :/
>
> Is there a way to do that?
> Thanks!
>
Re: Problems with DATASETS - Urgent :/ [message #368417 is a reply to message #368408] Thu, 28 May 2009 10:50 Go to previous messageGo to next message
Sergio Gomes is currently offline Sergio GomesFriend
Messages: 7
Registered: July 2009
Junior Member
Hi Jason,

i tryed your example but i have this problem:

in Database i had:

Code Description Stock Price

1 A 0 10
2 B 0 20

i followed your example, but in report appears:

Code Description Stock Price(Table) ColumnBinding

1 A 0 10 20
2 B 0 20 10


Can u see my xml to suggest me something?

It's really important for me solve this problem :/


Thanks


<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.17"
id="1">
<property name="author">Projecto Colibri ***BETA***</property>
<property name="createdBy">Eclipse BIRT Designer Version
2.3.2.r232_20090202 Build &lt;2.3.2.v20090218-0730></property>
<property name="units">mm</property>
<html-property name="description">Projecto Colibri
***BETA***</html-property>
<method name="initialize"><![CDATA[importPackage( Packages.java.util );
importPackage( Packages.java.lang );
importPackage( Packages.rcpcolibri.dao.model );

var hashmap = new Hashtable();

iterate = artigos.iterator();
while( iterate.hasNext() ){
object = iterate.next();
var key = object.getCodigo();
hashmap.put(key, object);
}

reportContext.setPersistentGlobalVariable("hashmap", hashmap);
]]></method>
<parameters>
<scalar-parameter name="Nome" id="11">
<property name="valueType">static</property>
<property name="dataType">string</property>
<property name="isRequired">false</property>
</scalar-parameter>
<scalar-parameter name="Morada" id="12">
<property name="valueType">static</property>
<property name="dataType">string</property>
<property name="isRequired">false</property>
</scalar-parameter>
<scalar-parameter name="Localidade" id="13">
<property name="valueType">static</property>
<property name="dataType">string</property>
<property name="isRequired">false</property>
</scalar-parameter>
<scalar-parameter name="Código Postal" id="14">
<property name="valueType">static</property>
<property name="dataType">string</property>
<property name="isRequired">false</property>
</scalar-parameter>
<scalar-parameter name="NIF" id="15">
<property name="valueType">static</property>
<property name="dataType">string</property>
<property name="isRequired">false</property>
</scalar-parameter>
<scalar-parameter name="Telefone" id="16">
<property name="valueType">static</property>
<property name="dataType">string</property>
<property name="isRequired">false</property>
</scalar-parameter>
<scalar-parameter name="Telefone 2" id="17">
<property name="valueType">static</property>
<property name="dataType">string</property>
<property name="isRequired">false</property>
</scalar-parameter>
<scalar-parameter name="Telemóvel" id="18">
<property name="valueType">static</property>
<property name="dataType">string</property>
<property name="isRequired">false</property>
</scalar-parameter>
<scalar-parameter name="Fax" id="19">
<property name="valueType">static</property>
<property name="dataType">string</property>
<property name="isRequired">false</property>
</scalar-parameter>
<scalar-parameter name="URL" id="20">
<property name="valueType">static</property>
<property name="dataType">string</property>
<property name="isRequired">false</property>
</scalar-parameter>
<scalar-parameter name="E-mail" id="21">
<property name="valueType">static</property>
<property name="dataType">string</property>
<property name="isRequired">false</property>
</scalar-parameter>
<scalar-parameter name="Capital Social" id="22">
<property name="valueType">static</property>
<property name="dataType">string</property>
<property name="isRequired">false</property>
</scalar-parameter>
<scalar-parameter name="Conservatória" id="23">
<property name="valueType">static</property>
<property name="dataType">string</property>
<property name="isRequired">false</property>
</scalar-parameter>
<scalar-parameter name="Nome do Projecto" id="24">
<property name="valueType">static</property>
<property name="dataType">string</property>
<property name="isRequired">false</property>
</scalar-parameter>
<scalar-parameter name="Versão do Projecto" id="25">
<property name="valueType">static</property>
<property name="dataType">string</property>
<property name="isRequired">false</property>
</scalar-parameter>
<scalar-parameter name="Título do Relatório" id="26">
<property name="valueType">static</property>
<property name="dataType">string</property>
<property name="isRequired">false</property>
</scalar-parameter>
<scalar-parameter name="Entidade do Relatório" id="27">
<property name="valueType">static</property>
<property name="dataType">string</property>
<property name="isRequired">false</property>
</scalar-parameter>
<scalar-parameter name="Vias do Relatório" id="28">
<property name="valueType">static</property>
<property name="dataType">string</property>
<property name="isRequired">false</property>
</scalar-parameter>
<scalar-parameter name="Filtro do Relatório" id="29">
<property name="valueType">static</property>
<property name="dataType">string</property>
<property name="isRequired">false</property>
</scalar-parameter>
<scalar-parameter name="Data Inicial" id="30">
<property name="valueType">static</property>
<property name="dataType">string</property>
<property name="isRequired">false</property>
</scalar-parameter>
<scalar-parameter name="Data Final" id="31">
<property name="valueType">static</property>
<property name="dataType">string</property>
<property name="isRequired">false</property>
</scalar-parameter>
</parameters>
<data-sources>
<script-data-source name="RCPColibriBD" id="5"/>
</data-sources>
<data-sets>
<script-data-set name="d1-artigos" id="6">
<list-property name="resultSetHints">
<structure>
<property name="position">1</property>
<property name="name">d1-1</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">d1-2</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">3</property>
<property name="name">d1-3</property>
<property name="dataType">date</property>
</structure>
<structure>
<property name="position">4</property>
<property name="name">d1-4</property>
<property name="dataType">date</property>
</structure>
<structure>
<property name="position">5</property>
<property name="name">d1-5</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">6</property>
<property name="name">d1-6</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">7</property>
<property name="name">d1-7</property>
<property name="dataType">decimal</property>
</structure>
<structure>
<property name="position">8</property>
<property name="name">d1-8</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">9</property>
<property name="name">d1-9</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">10</property>
<property name="name">d1-10</property>
<property name="dataType">blob</property>
</structure>
<structure>
<property name="position">11</property>
<property name="name">d1-11</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">12</property>
<property name="name">d1-12</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">13</property>
<property name="name">d1-13</property>
<property name="dataType">decimal</property>
</structure>
<structure>
<property name="position">14</property>
<property name="name">d1-14</property>
<property name="dataType">decimal</property>
</structure>
<structure>
<property name="position">15</property>
<property name="name">d1-15</property>
<property name="dataType">decimal</property>
</structure>
<structure>
<property name="position">16</property>
<property name="name">d1-16</property>
<property name="dataType">decimal</property>
</structure>
<structure>
<property name="position">17</property>
<property name="name">d1-17</property>
<property name="dataType">decimal</property>
</structure>
<structure>
<property name="position">18</property>
<property name="name">d1-18</property>
<property name="dataType">decimal</property>
</structure>
<structure>
<property name="position">19</property>
<property name="name">d1-19</property>
<property name="dataType">decimal</property>
</structure>
<structure>
<property name="position">20</property>
<property name="name">d1-20</property>
<property name="dataType">decimal</property>
</structure>
<structure>
<property name="position">21</property>
<property name="name">d1-21</property>
<property name="dataType">decimal</property>
</structure>
<structure>
<property name="position">22</property>
<property name="name">d1-22</property>
<property name="dataType">decimal</property>
</structure>
<structure>
<property name="position">23</property>
<property name="name">d1-23</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">24</property>
<property name="name">d1-24</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">25</property>
<property name="name">d1-25</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">26</property>
<property name="name">d1-26</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">27</property>
<property name="name">d1-27</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">28</property>
<property name="name">d1-28</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">29</property>
<property name="name">d1-29</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">30</property>
<property name="name">d1-30</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">31</property>
<property name="name">d1-31</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">32</property>
<property name="name">d1-32</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">33</property>
<property name="name">d1-33</property>
<property name="dataType">decimal</property>
</structure>
<structure>
<property name="position">34</property>
<property name="name">d1-34</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">35</property>
<property name="name">d1-35</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">36</property>
<property name="name">d1-36</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">37</property>
<property name="name">d1-37</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">38</property>
<property name="name">d1-38</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">39</property>
<property name="name">d1-39</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">40</property>
<property name="name">d1-40</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">41</property>
<property name="name">d1-41</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">42</property>
<property name="name">d1-42</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">43</property>
<property name="name">d1-43</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">44</property>
<property name="name">d1-44</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">45</property>
<property name="name">d1-45</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">46</property>
<property name="name">d1-46</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">47</property>
<property name="name">d1-47</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">48</property>
<property name="name">d1-48</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">49</property>
<property name="name">d1-49</property>
<property name="dataType">decimal</property>
</structure>
</list-property>
<list-property name="columnHints">
<structure>
<property name="columnName">d1-1</property>
<property name="displayName">Botão</property>
</structure>
<structure>
<property name="columnName">d1-2</property>
<property name="displayName">Código</property>
</structure>
<structure>
<property name="columnName">d1-3</property>
<property name="displayName">Data Alteração</property>
</structure>
<structure>
<property name="columnName">d1-4</property>
<property name="displayName">Data Criação</property>
</structure>
<structure>
<property name="columnName">d1-5</property>
<property name="displayName">Descrição</property>
</structure>
<structure>
<property name="columnName">d1-6</property>
<property name="displayName">Descrição
abreviada</property>
</structure>
<structure>
<property name="columnName">d1-7</property>
<property name="displayName">Entradas</property>
</structure>
<structure>
<property name="columnName">d1-8</property>
<property name="displayName">Estado</property>
</structure>
<structure>
<property name="columnName">d1-9</property>
<property name="displayName">Gestão de Stock</property>
</structure>
<structure>
<property name="columnName">d1-10</property>
<property name="displayName">Imagem</property>
</structure>
<structure>
<property name="columnName">d1-11</property>
<property name="displayName">Intrastat</property>
</structure>
<structure>
<property name="columnName">d1-12</property>
<property name="displayName">Observações</property>
</structure>
<structure>
<property name="columnName">d1-13</property>
<property name="displayName">Preço Custo
Médio</property>
</structure>
<structure>
<property name="columnName">d1-14</property>
<property name="displayName">Ultimo Preço
Custo</property>
</structure>
<structure>
<property name="columnName">d1-15</property>
<property name="displayName">Ultimo Preço
Venda</property>
</structure>
<structure>
<property name="columnName">d1-16</property>
<property name="displayName">Saídas</property>
</structure>
<structure>
<property name="columnName">d1-17</property>
<property name="displayName">Stock
Encomendado</property>
</structure>
<structure>
<property name="columnName">d1-18</property>
<property name="displayName">Stock Exterior</property>
</structure>
<structure>
<property name="columnName">d1-19</property>
<property name="displayName">Stock Mínimo</property>
</structure>
<structure>
<property name="columnName">d1-20</property>
<property name="displayName">Stock Previsto</property>
</structure>
<structure>
<property name="columnName">d1-21</property>
<property name="displayName">Stock Real</property>
</structure>
<structure>
<property name="columnName">d1-22</property>
<property name="displayName">Stock Reservado</property>
</structure>
<structure>
<property name="columnName">d1-23</property>
<property name="displayName">Tipo</property>
</structure>
<structure>
<property name="columnName">d1-24</property>
<property name="displayName">Autor -
Checksum</property>
</structure>
<structure>
<property name="columnName">d1-25</property>
<property name="displayName">Autor - Estado</property>
</structure>
<structure>
<property name="columnName">d1-26</property>
<property name="displayName">Autor - Nome</property>
</structure>
<structure>
<property name="columnName">d1-27</property>
<property name="displayName">Autor -
Password</property>
</structure>
<structure>
<property name="columnName">d1-28</property>
<property name="displayName">Autor - Tipo</property>
</structure>
<structure>
<property name="columnName">d1-29</property>
<property name="displayName">Autor</property>
</structure>
<structure>
<property name="columnName">d1-30</property>
<property name="displayName">Taxa IVA</property>
</structure>
<structure>
<property name="columnName">d1-31</property>
<property name="displayName">Taxa IVA -
Descrição</property>
</structure>
<structure>
<property name="columnName">d1-32</property>
<property name="displayName">Taxa IVA - Espaço
Fiscal</property>
</structure>
<structure>
<property name="columnName">d1-33</property>
<property name="displayName">Taxa IVA - Taxa
(%)</property>
</structure>
<structure>
<property name="columnName">d1-34</property>
<property name="displayName">Taxa IVA - Tipo de
Taxa</property>
</structure>
<structure>
<property name="columnName">d1-35</property>
<property name="displayName">Editor -
Checksum</property>
</structure>
<structure>
<property name="columnName">d1-36</property>
<property name="displayName">Editor - Estado</property>
</structure>
<structure>
<property name="columnName">d1-37</property>
<property name="displayName">Editor - Nome</property>
</structure>
<structure>
<property name="columnName">d1-38</property>
<property name="displayName">Editor -
Password</property>
</structure>
<structure>
<property name="columnName">d1-39</property>
<property name="displayName">Editor - Tipo</property>
</structure>
<structure>
<property name="columnName">d1-40</property>
<property name="displayName">Editor</property>
</structure>
<structure>
<property name="columnName">d1-41</property>
<property name="displayName">Família</property>
</structure>
<structure>
<property name="columnName">d1-42</property>
<property name="displayName">Família -
Descrição</property>
</structure>
<structure>
<property name="columnName">d1-43</property>
<property name="displayName">Sub-família</property>
</structure>
<structure>
<property name="columnName">d1-44</property>
<property name="displayName">Sub-família -
Descrição</property>
</structure>
<structure>
<property name="columnName">d1-45</property>
<property name="displayName">Grupo</property>
</structure>
<structure>
<property name="columnName">d1-46</property>
<property name="displayName">Grupo -
Descrição</property>
</structure>
<structure>
<property name="columnName">d1-47</property>
<property name="displayName">Retenção</property>
</structure>
<structure>
<property name="columnName">d1-48</property>
<property name="displayName">Retenção -
Descrição</property>
</structure>
<structure>
<property name="columnName">d1-49</property>
<property name="displayName">Retenção - Taxa
(%)</property>
</structure>
</list-property>
<structure name="cachedMetaData">
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">d1-1</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">d1-2</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">3</property>
<property name="name">d1-3</property>
<property name="dataType">date</property>
</structure>
<structure>
<property name="position">4</property>
<property name="name">d1-4</property>
<property name="dataType">date</property>
</structure>
<structure>
<property name="position">5</property>
<property name="name">d1-5</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">6</property>
<property name="name">d1-6</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">7</property>
<property name="name">d1-7</property>
<property name="dataType">decimal</property>
</structure>
<structure>
<property name="position">8</property>
<property name="name">d1-8</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">9</property>
<property name="name">d1-9</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">10</property>
<property name="name">d1-10</property>
<property name="dataType">blob</property>
</structure>
<structure>
<property name="position">11</property>
<property name="name">d1-11</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">12</property>
<property name="name">d1-12</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">13</property>
<property name="name">d1-13</property>
<property name="dataType">decimal</property>
</structure>
<structure>
<property name="position">14</property>
<property name="name">d1-14</property>
<property name="dataType">decimal</property>
</structure>
<structure>
<property name="position">15</property>
<property name="name">d1-15</property>
<property name="dataType">decimal</property>
</structure>
<structure>
<property name="position">16</property>
<property name="name">d1-16</property>
<property name="dataType">decimal</property>
</structure>
<structure>
<property name="position">17</property>
<property name="name">d1-17</property>
<property name="dataType">decimal</property>
</structure>
<structure>
<property name="position">18</property>
<property name="name">d1-18</property>
<property name="dataType">decimal</property>
</structure>
<structure>
<property name="position">19</property>
<property name="name">d1-19</property>
<property name="dataType">decimal</property>
</structure>
<structure>
<property name="position">20</property>
<property name="name">d1-20</property>
<property name="dataType">decimal</property>
</structure>
<structure>
<property name="position">21</property>
<property name="name">d1-21</property>
<property name="dataType">decimal</property>
</structure>
<structure>
<property name="position">22</property>
<property name="name">d1-22</property>
<property name="dataType">decimal</property>
</structure>
<structure>
<property name="position">23</property>
<property name="name">d1-23</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">24</property>
<property name="name">d1-24</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">25</property>
<property name="name">d1-25</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">26</property>
<property name="name">d1-26</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">27</property>
<property name="name">d1-27</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">28</property>
<property name="name">d1-28</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">29</property>
<property name="name">d1-29</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">30</property>
<property name="name">d1-30</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">31</property>
<property name="name">d1-31</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">32</property>
<property name="name">d1-32</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">33</property>
<property name="name">d1-33</property>
<property name="dataType">decimal</property>
</structure>
<structure>
<property name="position">34</property>
<property name="name">d1-34</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">35</property>
<property name="name">d1-35</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">36</property>
<property name="name">d1-36</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">37</property>
<property name="name">d1-37</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">38</property>
<property name="name">d1-38</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">39</property>
<property name="name">d1-39</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">40</property>
<property name="name">d1-40</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">41</property>
<property name="name">d1-41</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">42</property>
<property name="name">d1-42</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">43</property>
<property name="name">d1-43</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">44</property>
<property name="name">d1-44</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">45</property>
<property name="name">d1-45</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">46</property>
<property name="name">d1-46</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">47</property>
<property name="name">d1-47</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">48</property>
<property name="name">d1-48</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">49</property>
<property name="name">d1-49</property>
<property name="dataType">decimal</property>
</structure>
</list-property>
</structure>
<property name="dataSource">RCPColibriBD</property>
<method name="open"><![CDATA[iterate_artigos =
artigos.iterator();
]]></method>
<method name="fetch"><![CDATA[if (!iterate_artigos.hasNext())
return false;
artigos = iterate_artigos.next();

row["d1-1"] = artigos.getBotao();
row["d1-2"] = artigos.getCodigo();
row["d1-3"] = artigos.getDataalteracao();
row["d1-4"] = artigos.getDatacriacao();
row["d1-5"] = artigos.getDescricao();
row["d1-6"] = artigos.getDescricao2();
row["d1-7"] = artigos.getEntradas();
row["d1-8"] = artigos.getEstado();
row["d1-9"] = artigos.getGestaostock();
row["d1-10"] = artigos.getImagem();
row["d1-11"] = artigos.getIntrastat();
row["d1-12"] = artigos.getObs();
row["d1-13"] = artigos.getPrecopcm();
row["d1-14"] = artigos.getPrecoupc();
row["d1-15"] = artigos.getPrecoupv();
row["d1-16"] = artigos.getSaidas();
row["d1-17"] = artigos.getStockencomendado();
row["d1-18"] = artigos.getStockexterior();
row["d1-19"] = artigos.getStockminimo();
row["d1-20"] = artigos.getStockprevisto();
row["d1-21"] = artigos.getStockreal();
row["d1-22"] = artigos.getStockreservado();
row["d1-23"] = artigos.getTipo();

//TABLE: AUTOR
if( artigos.getAutor() != null ){
row["d1-24"] = artigos.getAutor().getChecksum();
row["d1-25"] = artigos.getAutor().getEstado();
row["d1-26"] = artigos.getAutor().getNome();
row["d1-27"] = artigos.getAutor().getPassword();
row["d1-28"] = artigos.getAutor().getTipo();
row["d1-29"] = artigos.getAutor().getUser();
}
//TABLE: CODIGOIVA
if( artigos.getCodigoiva() != null ){
row["d1-30"] = artigos.getCodigoiva().getCodigo();
row["d1-31"] = artigos.getCodigoiva().getDescricao();
row["d1-32"] = artigos.getCodigoiva().getEspacofiscal();
row["d1-33"] = artigos.getCodigoiva().getTaxa();
row["d1-34"] = artigos.getCodigoiva().getTipotaxa();
}
//TABLE: EDITOR
if( artigos.getEditor() != null ){
row["d1-35"] = artigos.getEditor().getChecksum();
row["d1-36"] = artigos.getEditor().getEstado();
row["d1-37"] = artigos.getEditor().getNome();
row["d1-38"] = artigos.getEditor().getPassword();
row["d1-39"] = artigos.getEditor().getTipo();
row["d1-40"] = artigos.getEditor().getUser();
}
//TABLE: FAMILIA
if( artigos.getFamilia() != null ){
row["d1-41"] = artigos.getFamilia().getCodigo();
row["d1-42"] = artigos.getFamilia().getDescricao();
}
//TABLE: FAMILIA2
if( artigos.getFamilia2() != null ){
row["d1-43"] = artigos.getFamilia2().getCodigo();
row["d1-44"] = artigos.getFamilia2().getDescricao();
}
//TABLE: GRUPO
if( artigos.getGrupo() != null ){
row["d1-45"] = artigos.getGrupo().getCodigo();
row["d1-46"] = artigos.getGrupo().getDescricao();
}
//TABLE: RETENCAO
if( artigos.getRetencao() != null ){
row["d1-47"] = artigos.getRetencao().getCodigo();
row["d1-48"] = artigos.getRetencao().getDescricao();
row["d1-49"] = artigos.getRetencao().getTaxa();
}
return true;]]></method>
</script-data-set>
<script-data-set name="d2-artigosunidades" id="7">
<list-property name="resultSetHints">
<structure>
<property name="position">1</property>
<property name="name">d2-1</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">d2-2</property>
<property name="dataType">decimal</property>
</structure>
<structure>
<property name="position">3</property>
<property
Re: Problems with DATASETS - Urgent :/ [message #368425 is a reply to message #368417] Thu, 28 May 2009 15:51 Go to previous message
Eclipse UserFriend
Originally posted by: jasonweathersby.windstream.net

Sergio,

That code was showing you the problem with using global variables in the
same table. I should have made that clearer. The only way I know to do
it is to add a hidden table to pre-calculate the values. See attached.

You may also want to look at adding a joint dataset.

Jason

<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.17"
id="1">
<property name="createdBy">Eclipse BIRT Designer Version
2.3.2.r232_20090202 Build &lt;2.3.2.v20090218-0730></property>
<property name="units">in</property>
<property name="comments">Copyright (c) 2006 &lt;&lt;Your Company
Name here>></property>
<method name="beforeFactory"><![CDATA[myArray = [];
ctr=0;
rctr=0;]]></method>
<data-sources>
<script-data-source name="Data Source" id="4"/>
</data-sources>
<data-sets>
<script-data-set name="outer" id="5">
<list-property name="resultSetHints">
<structure>
<property name="position">1</property>
<property name="name">c1</property>
<property name="dataType">integer</property>
</structure>
</list-property>
<list-property name="columnHints">
<structure>
<property name="columnName">c1</property>
</structure>
</list-property>
<structure name="cachedMetaData">
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">c1</property>
<property name="dataType">integer</property>
</structure>
</list-property>
</structure>
<property name="dataSource">Data Source</property>
<method name="open"><![CDATA[i=0;]]></method>
<method name="fetch"><![CDATA[if (i++ >10)
return false;
else {
row.c1=i;
return true;
}]]></method>
</script-data-set>
<script-data-set name="inner" id="6">
<list-property name="resultSetHints">
<structure>
<property name="position">1</property>
<property name="name">c2</property>
<property name="dataType">integer</property>
</structure>
</list-property>
<list-property name="columnHints">
<structure>
<property name="columnName">c2</property>
</structure>
</list-property>
<structure name="cachedMetaData">
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">c2</property>
<property name="dataType">integer</property>
</structure>
</list-property>
</structure>
<property name="dataSource">Data Source</property>
<list-property name="parameters">
<structure>
<property name="name">startval</property>
<property name="dataType">integer</property>
<property name="position">1</property>
<expression name="defaultValue">1</expression>
<property name="isInput">true</property>
</structure>
</list-property>
<method name="open"><![CDATA[j =
inputParams["startval"];]]></method>
<method name="fetch"><![CDATA[if (j ++ >=6)
return false;
else {
row.c2=j;
return true;
}]]></method>
</script-data-set>
</data-sets>
<styles>
<style name="table-header" id="37">
<property name="backgroundColor">#6078BF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="table-footer" id="38">
<property name="backgroundColor">#6078BF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="table-detail" id="39">
<property name="backgroundColor">#E6ECFF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">x-small</property>
<property name="fontWeight">bold</property>
<property name="color">#000080</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="table-group-header-1" id="40">
<property name="backgroundColor">#809FFF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="table-group-footer-1" id="41">
<property name="backgroundColor">#809FFF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="special-header" id="42">
<property name="backgroundColor">#6078BF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">medium</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="crosstab-detail" id="43">
<property name="backgroundColor">#E6ECFF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">x-small</property>
<property name="fontWeight">bold</property>
<property name="color">#000080</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="crosstab-header" id="44">
<property name="backgroundColor">#6078BF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</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="7">
<property name="width">100%</property>
<property name="dataSet">outer</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">c1</property>
<expression
name="expression">dataSetRow["c1"]</expression>
<property name="dataType">integer</property>
</structure>
</list-property>
<property name="pageBreakInterval">50</property>
<column id="20"/>
<column id="22"/>
<header>
<row id="8">
<cell id="9">
<label id="23">
<text-property name="text">c1</text-property>
</label>
</cell>
<cell id="11"/>
</row>
</header>
<detail>
<row id="12">
<cell id="13">
<data id="24">
<property name="resultSetColumn">c1</property>
</data>
</cell>
<cell id="15">
<table id="25">
<property name="width">100%</property>
<property name="dataSet">inner</property>
<list-property name="paramBindings">
<structure>
<property
name="paramName">startval</property>
<expression
name="expression">row["c1"]</expression>
</structure>
</list-property>
<list-property name="boundDataColumns">
<structure>
<property name="name">c2</property>
<expression
name="expression">myArray[ctr] = dataSetRow["c2"]+row._outer["c1"];
ctr++;
dataSetRow["c2"];</expression>
<property
name="dataType">integer</property>
</structure>
<structure>
<property name="name">Column
Binding</property>
<expression
name="expression">row._outer[row.__rownum]</expression>
<property
name="dataType">string</property>
</structure>
</list-property>
<property
name="pageBreakInterval">50</property>
<column id="32"/>
<header>
<row id="26">
<cell id="27">
<label id="35">
<text-property
name="text">c2</text-property>
</label>
</cell>
</row>
</header>
<detail>
<row id="28">
<cell id="29">
<data id="36">
<property
name="resultSetColumn">c2</property>
</data>
</cell>
</row>
</detail>
<footer>
<row id="30">
<cell id="31"/>
</row>
</footer>
</table>
</cell>
</row>
</detail>
<footer>
<row id="16">
<cell id="17"/>
<cell id="19"/>
</row>
</footer>
</table>
<table id="55">
<property name="width">100%</property>
<property name="dataSet">outer</property>
<list-property name="boundDataColumns">
<structure>
<property name="name">c1</property>
<expression
name="expression">dataSetRow["c1"]</expression>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="name">Column Binding</property>
<expression name="expression">var rtn =myArray[rctr];
rctr++;
rtn;</expression>
<property name="dataType">integer</property>
</structure>
</list-property>
<property name="pageBreakInterval">50</property>
<column id="77"/>
<column id="78"/>
<column id="82"/>
<header>
<row id="56">
<cell id="57">
<label id="58">
<text-property name="text">c1</text-property>
</label>
</cell>
<cell id="59"/>
<cell id="79">
<label id="83">
<text-property
name="text">combination</text-property>
</label>
</cell>
</row>
</header>
<detail>
<row id="60">
<cell id="61">
<data id="62">
<property name="resultSetColumn">c1</property>
</data>
</cell>
<cell id="63">
<table id="64">
<property name="width">100%</property>
<property name="dataSet">inner</property>
<list-property name="paramBindings">
<structure>
<property
name="paramName">startval</property>
<expression
name="expression">row["c1"]</expression>
</structure>
</list-property>
<list-property name="boundDataColumns">
<structure>
<property name="name">c2</property>
<expression
name="expression">myArray[ctr] = dataSetRow["c2"]*row._outer["c1"];
ctr++;
dataSetRow["c2"];</expression>
<property
name="dataType">integer</property>
</structure>
<structure>
<property name="name">Column
Binding</property>
<expression
name="expression">row._outer[row.__rownum]</expression>
<property
name="dataType">string</property>
</structure>
</list-property>
<property
name="pageBreakInterval">50</property>
<column id="73"/>
<header>
<row id="65">
<cell id="66">
<label id="67">
<text-property
name="text">c2</text-property>
</label>
</cell>
</row>
</header>
<detail>
<row id="68">
<cell id="69">
<data id="70">
<property
name="resultSetColumn">c2</property>
</data>
</cell>
</row>
</detail>
<footer>
<row id="71">
<cell id="72"/>
</row>
</footer>
</table>
</cell>
<cell id="80">
<data id="84">
<property name="resultSetColumn">Column
Binding</property>
</data>
</cell>
</row>
</detail>
<footer>
<row id="74">
<cell id="75"/>
<cell id="76"/>
<cell id="81"/>
</row>
</footer>
</table>
</body>
</report>


Sergio Gomes wrote:
> Hi Jason,
>
> i tryed your example but i have this problem:
>
> in Database i had:
>
> Code Description Stock Price
>
> 1 A 0 10
> 2 B 0 20
>
> i followed your example, but in report appears:
>
> Code Description Stock Price(Table) ColumnBinding
>
> 1 A 0 10 20
> 2 B 0 20 10
>
>
> Can u see my xml to suggest me something?
>
> It's really important for me solve this problem :/
>
>
> Thanks
>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.17"
> id="1">
> <property name="author">Projecto Colibri ***BETA***</property>
> <property name="createdBy">Eclipse BIRT Designer Version
> 2.3.2.r232_20090202 Build &lt;2.3.2.v20090218-0730></property>
> <property name="units">mm</property>
> <html-property name="description">Projecto Colibri
> ***BETA***</html-property>
> <method name="initialize"><![CDATA[importPackage( Packages.java.util );
> importPackage( Packages.java.lang );
> importPackage( Packages.rcpcolibri.dao.model );
>
> var hashmap = new Hashtable();
>
> iterate = artigos.iterator();
> while( iterate.hasNext() ){
> object = iterate.next();
> var key = object.getCodigo();
> hashmap.put(key, object);
> }
>
> reportContext.setPersistentGlobalVariable("hashmap", hashmap);
> ]]></method>
> <parameters>
> <scalar-parameter name="Nome" id="11">
> <property name="valueType">static</property>
> <property name="dataType">string</property>
> <property name="isRequired">false</property>
> </scalar-parameter>
> <scalar-parameter name="Morada" id="12">
> <property name="valueType">static</property>
> <property name="dataType">string</property>
> <property name="isRequired">false</property>
> </scalar-parameter>
> <scalar-parameter name="Localidade" id="13">
> <property name="valueType">static</property>
> <property name="dataType">string</property>
> <property name="isRequired">false</property>
> </scalar-parameter>
> <scalar-parameter name="Código Postal" id="14">
> <property name="valueType">static</property>
> <property name="dataType">string</property>
> <property name="isRequired">false</property>
> </scalar-parameter>
> <scalar-parameter name="NIF" id="15">
> <property name="valueType">static</property>
> <property name="dataType">string</property>
> <property name="isRequired">false</property>
> </scalar-parameter>
> <scalar-parameter name="Telefone" id="16">
> <property name="valueType">static</property>
> <property name="dataType">string</property>
> <property name="isRequired">false</property>
> </scalar-parameter>
> <scalar-parameter name="Telefone 2" id="17">
> <property name="valueType">static</property>
> <property name="dataType">string</property>
> <property name="isRequired">false</property>
> </scalar-parameter>
> <scalar-parameter name="Telemóvel" id="18">
> <property name="valueType">static</property>
> <property name="dataType">string</property>
> <property name="isRequired">false</property>
> </scalar-parameter>
> <scalar-parameter name="Fax" id="19">
> <property name="valueType">static</property>
> <property name="dataType">string</property>
> <property name="isRequired">false</property>
> </scalar-parameter>
> <scalar-parameter name="URL" id="20">
> <property name="valueType">static</property>
> <property name="dataType">string</property>
> <property name="isRequired">false</property>
> </scalar-parameter>
> <scalar-parameter name="E-mail" id="21">
> <property name="valueType">static</property>
> <property name="dataType">string</property>
> <property name="isRequired">false</property>
> </scalar-parameter>
> <scalar-parameter name="Capital Social" id="22">
> <property name="valueType">static</property>
> <property name="dataType">string</property>
> <property name="isRequired">false</property>
> </scalar-parameter>
> <scalar-parameter name="Conservatória" id="23">
> <property name="valueType">static</property>
> <property name="dataType">string</property>
> <property name="isRequired">false</property>
> </scalar-parameter>
> <scalar-parameter name="Nome do Projecto" id="24">
> <property name="valueType">static</property>
> <property name="dataType">string</property>
> <property name="isRequired">false</property>
> </scalar-parameter>
> <scalar-parameter name="Versão do Projecto" id="25">
> <property name="valueType">static</property>
> <property name="dataType">string</property>
> <property name="isRequired">false</property>
> </scalar-parameter>
> <scalar-parameter name="Título do Relatório" id="26">
> <property name="valueType">static</property>
> <property name="dataType">string</property>
> <property name="isRequired">false</property>
> </scalar-parameter>
> <scalar-parameter name="Entidade do Relatório" id="27">
> <property name="valueType">static</property>
> <property name="dataType">string</property>
> <property name="isRequired">false</property>
> </scalar-parameter>
> <scalar-parameter name="Vias do Relatório" id="28">
> <property name="valueType">static</property>
> <property name="dataType">string</property>
> <property name="isRequired">false</property>
> </scalar-parameter>
> <scalar-parameter name="Filtro do Relatório" id="29">
> <property name="valueType">static</property>
> <property name="dataType">string</property>
> <property name="isRequired">false</property>
> </scalar-parameter>
> <scalar-parameter name="Data Inicial" id="30">
> <property name="valueType">static</property>
> <property name="dataType">string</property>
> <property name="isRequired">false</property>
> </scalar-parameter>
> <scalar-parameter name="Data Final" id="31">
> <property name="valueType">static</property>
> <property name="dataType">string</property>
> <property name="isRequired">false</property>
> </scalar-parameter>
> </parameters>
> <data-sources>
> <script-data-source name="RCPColibriBD" id="5"/>
> </data-sources>
> <data-sets>
> <script-data-set name="d1-artigos" id="6">
> <list-property name="resultSetHints">
> <structure>
> <property name="position">1</property>
> <property name="name">d1-1</property>
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="position">2</property>
> <property name="name">d1-2</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">3</property>
> <property name="name">d1-3</property>
> <property name="dataType">date</property>
> </structure>
> <structure>
> <property name="position">4</property>
> <property name="name">d1-4</property>
> <property name="dataType">date</property>
> </structure>
> <structure>
> <property name="position">5</property>
> <property name="name">d1-5</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">6</property>
> <property name="name">d1-6</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">7</property>
> <property name="name">d1-7</property>
> <property name="dataType">decimal</property>
> </structure>
> <structure>
> <property name="position">8</property>
> <property name="name">d1-8</property>
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="position">9</property>
> <property name="name">d1-9</property>
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="position">10</property>
> <property name="name">d1-10</property>
> <property name="dataType">blob</property>
> </structure>
> <structure>
> <property name="position">11</property>
> <property name="name">d1-11</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">12</property>
> <property name="name">d1-12</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">13</property>
> <property name="name">d1-13</property>
> <property name="dataType">decimal</property>
> </structure>
> <structure>
> <property name="position">14</property>
> <property name="name">d1-14</property>
> <property name="dataType">decimal</property>
> </structure>
> <structure>
> <property name="position">15</property>
> <property name="name">d1-15</property>
> <property name="dataType">decimal</property>
> </structure>
> <structure>
> <property name="position">16</property>
> <property name="name">d1-16</property>
> <property name="dataType">decimal</property>
> </structure>
> <structure>
> <property name="position">17</property>
> <property name="name">d1-17</property>
> <property name="dataType">decimal</property>
> </structure>
> <structure>
> <property name="position">18</property>
> <property name="name">d1-18</property>
> <property name="dataType">decimal</property>
> </structure>
> <structure>
> <property name="position">19</property>
> <property name="name">d1-19</property>
> <property name="dataType">decimal</property>
> </structure>
> <structure>
> <property name="position">20</property>
> <property name="name">d1-20</property>
> <property name="dataType">decimal</property>
> </structure>
> <structure>
> <property name="position">21</property>
> <property name="name">d1-21</property>
> <property name="dataType">decimal</property>
> </structure>
> <structure>
> <property name="position">22</property>
> <property name="name">d1-22</property>
> <property name="dataType">decimal</property>
> </structure>
> <structure>
> <property name="position">23</property>
> <property name="name">d1-23</property>
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="position">24</property>
> <property name="name">d1-24</property>
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="position">25</property>
> <property name="name">d1-25</property>
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="position">26</property>
> <property name="name">d1-26</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">27</property>
> <property name="name">d1-27</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">28</property>
> <property name="name">d1-28</property>
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="position">29</property>
> <property name="name">d1-29</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">30</property>
> <property name="name">d1-30</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">31</property>
> <property name="name">d1-31</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">32</property>
> <property name="name">d1-32</property>
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="position">33</property>
> <property name="name">d1-33</property>
> <property name="dataType">decimal</property>
> </structure>
> <structure>
> <property name="position">34</property>
> <property name="name">d1-34</property>
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="position">35</property>
> <property name="name">d1-35</property>
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="position">36</property>
> <property name="name">d1-36</property>
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="position">37</property>
> <property name="name">d1-37</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">38</property>
> <property name="name">d1-38</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">39</property>
> <property name="name">d1-39</property>
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="position">40</property>
> <property name="name">d1-40</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">41</property>
> <property name="name">d1-41</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">42</property>
> <property name="name">d1-42</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">43</property>
> <property name="name">d1-43</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">44</property>
> <property name="name">d1-44</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">45</property>
> <property name="name">d1-45</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">46</property>
> <property name="name">d1-46</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">47</property>
> <property name="name">d1-47</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">48</property>
> <property name="name">d1-48</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">49</property>
> <property name="name">d1-49</property>
> <property name="dataType">decimal</property>
> </structure>
> </list-property>
> <list-property name="columnHints">
> <structure>
> <property name="columnName">d1-1</property>
> <property name="displayName">Botão</property>
> </structure>
> <structure>
> <property name="columnName">d1-2</property>
> <property name="displayName">Código</property>
> </structure>
> <structure>
> <property name="columnName">d1-3</property>
> <property name="displayName">Data Alteração</property>
> </structure>
> <structure>
> <property name="columnName">d1-4</property>
> <property name="displayName">Data Criação</property>
> </structure>
> <structure>
> <property name="columnName">d1-5</property>
> <property name="displayName">Descrição</property>
> </structure>
> <structure>
> <property name="columnName">d1-6</property>
> <property name="displayName">Descrição
> abreviada</property>
> </structure>
> <structure>
> <property name="columnName">d1-7</property>
> <property name="displayName">Entradas</property>
> </structure>
> <structure>
> <property name="columnName">d1-8</property>
> <property name="displayName">Estado</property>
> </structure>
> <structure>
> <property name="columnName">d1-9</property>
> <property name="displayName">Gestão de Stock</property>
> </structure>
> <structure>
> <property name="columnName">d1-10</property>
> <property name="displayName">Imagem</property>
> </structure>
> <structure>
> <property name="columnName">d1-11</property>
> <property name="displayName">Intrastat</property>
> </structure>
> <structure>
> <property name="columnName">d1-12</property>
> <property name="displayName">Observações</property>
> </structure>
> <structure>
> <property name="columnName">d1-13</property>
> <property name="displayName">Preço Custo
> Médio</property>
> </structure>
> <structure>
> <property name="columnName">d1-14</property>
> <property name="displayName">Ultimo Preço
> Custo</property>
> </structure>
> <structure>
> <property name="columnName">d1-15</property>
> <property name="displayName">Ultimo Preço
> Venda</property>
> </structure>
> <structure>
> <property name="columnName">d1-16</property>
> <property name="displayName">Saídas</property>
> </structure>
> <structure>
> <property name="columnName">d1-17</property>
> <property name="displayName">Stock
> Encomendado</property>
> </structure>
> <structure>
> <property name="columnName">d1-18</property>
> <property name="displayName">Stock Exterior</property>
> </structure>
> <structure>
> <property name="columnName">d1-19</property>
> <property name="displayName">Stock Mínimo</property>
> </structure>
> <structure>
> <property name="columnName">d1-20</property>
> <property name="displayName">Stock Previsto</property>
> </structure>
> <structure>
> <property name="columnName">d1-21</property>
> <property name="displayName">Stock Real</property>
> </structure>
> <structure>
> <property name="columnName">d1-22</property>
> <property name="displayName">Stock Reservado</property>
> </structure>
> <structure>
> <property name="columnName">d1-23</property>
> <property name="displayName">Tipo</property>
> </structure>
> <structure>
> <property name="columnName">d1-24</property>
> <property name="displayName">Autor - Checksum</property>
> </structure>
> <structure>
> <property name="columnName">d1-25</property>
> <property name="displayName">Autor - Estado</property>
> </structure>
> <structure>
> <property name="columnName">d1-26</property>
> <property name="displayName">Autor - Nome</property>
> </structure>
> <structure>
> <property name="columnName">d1-27</property>
> <property name="displayName">Autor - Password</property>
> </structure>
> <structure>
Previous Topic:Format Number on Table
Next Topic:Execution limits
Goto Forum:
  


Current Time: Fri Apr 26 15:16:24 GMT 2024

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

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

Back to the top