ClassDefNotFoundError trying to load ScriptedDataSetEventHandler in RCP Applicat [message #158463] |
Thu, 04 May 2006 18:21  |
Eclipse User |
|
|
|
I have an instance of BIRT generating reports using a scripted data source
from within an eclipse RCP application.
I can generate the pdf version of the report if I use javascript to create
the row data, but if I attempt to use a custom
ScriptedDataSetEventAdapter, the report engine fails when trying to load
the event adapter.
The application is made up of a bunch of plugins and there is a plugin
that contains the report design file and the class that is my
ScriptedDataSetEventAdapter.
Following is the stack trace, the event handler code and the report design:
STACK TRACE
-----------
May 4, 2006 5:02:06 PM
org.eclipse.birt.report.engine.script.internal.ScriptExecuto r getInstance
WARNING: com.techteriors.proposal.report.ProductDatabaseDataSetHandle r
java.lang.ClassNotFoundException:
com.techteriors.proposal.report.ProductDatabaseDataSetHandle r
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findCl ass(BundleLoader.java:405)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findCl ass(BundleLoader.java:350)
at
org.eclipse.osgi.framework.adaptor.core.AbstractClassLoader. loadClass(AbstractClassLoader.java:78)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319 )
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at
org.eclipse.birt.report.engine.script.internal.ScriptExecuto r.getInstance(ScriptExecutor.java:103)
at
org.eclipse.birt.report.engine.script.internal.DataSetScript Executor.initEventHandler(DataSetScriptExecutor.java:48)
at
org.eclipse.birt.report.engine.script.internal.ScriptDataSet ScriptExecutor.initEventHandler(ScriptDataSetScriptExecutor. java:47)
at
org.eclipse.birt.report.engine.script.internal.DataSetScript Executor. <init>(DataSetScriptExecutor.java:39)
at
org.eclipse.birt.report.engine.script.internal.ScriptDataSet ScriptExecutor. <init>(ScriptDataSetScriptExecutor.java:42)
at
org.eclipse.birt.report.engine.adapter.ModelDteApiAdapter.ne wScriptDataSet(ModelDteApiAdapter.java:383)
at
org.eclipse.birt.report.engine.adapter.ModelDteApiAdapter.cr eateDataSetDesign(ModelDteApiAdapter.java:192)
at
org.eclipse.birt.report.engine.data.dte.DteDataEngine.prepar e(DteDataEngine.java:153)
at
org.eclipse.birt.report.engine.executor.ReportExecutor.execu te(ReportExecutor.java:107)
at
org.eclipse.birt.report.engine.executor.ReportExecutor.execu te(ReportExecutor.java:89)
at
org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run (RunAndRenderTask.java:175)
at
com.techteriors.core.report.TtReportEngine.runAndRenderJob(T tReportEngine.java:83)
at
com.techteriors.proposal.report.TestProductDatabaseReport.te stManufacturerDesign(TestProductDatabaseReport.java:51)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTe sts(RemoteTestRunner.java:478)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(R emoteTestRunner.java:344)
at
org.eclipse.pde.internal.junit.runtime.RemotePluginTestRunne r.main(RemotePluginTestRunner.java:57)
at
org.eclipse.pde.internal.junit.runtime.CoreTestApplication.r un(CoreTestApplication.java:24)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:226)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:376)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:163)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334 )
at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
at org.eclipse.core.launcher.Main.run(Main.java:973)
at org.eclipse.core.launcher.Main.main(Main.java:948)
EVENT HANDLER CODE
------------------
/**
*
*/
package com.techteriors.proposal.report;
import org.eclipse.birt.report.engine.api.script.IUpdatableDataSetR ow;
import org.eclipse.birt.report.engine.api.script.ScriptException;
import
org.eclipse.birt.report.engine.api.script.eventadapter.Scrip tedDataSetEventAdapter;
import org.eclipse.birt.report.engine.api.script.instance.IDataSetI nstance;
import com.techteriors.util.ExceptionAdapter;
/**
* @author fporcaro
*
*/
public class ProductDatabaseDataSetHandler extends
ScriptedDataSetEventAdapter {
protected int count = 0;
/**
*
*/
public ProductDatabaseDataSetHandler() {
super();
// TODO Auto-generated constructor stub
}
@Override
public boolean fetch(IDataSetInstance dataSet, IUpdatableDataSetRow row) {
// Equiv working JavaScript
// row.sku = "SKU" + count;
// row.manufacturer = manufacturer.getName();
// row.description = "This is a description of item " + count;
// row.cost = count * 100;
try {
row.setColumnValue("SKU", "SKU"+count);
row.setColumnValue("manufacturer", "Manufacturer");
row.setColumnValue("description", "This is a description of "+count);
row.setColumnValue("cost", count * 100);
} catch (ScriptException e) {
throw new ExceptionAdapter(e);
}
if(count++ > 10)
return false;
else
return true;
}
}
REPORT DESIGN
-------------
<?xml version="1.0" encoding="UTF-8"?>
<!-- Written by Eclipse BIRT 2.0 -->
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3" id="1">
<property name="createdBy">Eclipse BIRT Designer Version 1.0.1 Build
<20051130-1157></property>
<property name="units">in</property>
<data-sources>
<script-data-source name="ProductDatabase" id="41">
<method name="open"><![CDATA[obj = new Object();]]></method>
<method name="close"><![CDATA[obj = null;]]></method>
</script-data-source>
</data-sources>
<data-sets>
<script-data-set name="Item Details" id="42">
<property
name="eventHandlerClass"> com.techteriors.proposal.rptdesign.ProductDatabaseDataSetHan dler </property>
<property name="dataSource">ProductDatabase</property>
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">manufacturer</property>
<property name="dataType">any</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">sku</property>
<property name="dataType">any</property>
</structure>
<structure>
<property name="position">3</property>
<property name="name">description</property>
</structure>
<structure>
<property name="position">4</property>
<property name="name">cost</property>
<property name="dataType">float</property>
</structure>
</list-property>
<list-property name="columnHints">
<structure>
<property name="columnName">manufacturer</property>
</structure>
<structure>
<property name="columnName">sku</property>
</structure>
<structure>
<property name="columnName">description</property>
</structure>
<structure>
<property name="columnName">cost</property>
</structure>
</list-property>
</script-data-set>
</data-sets>
<page-setup>
<simple-master-page name="Simple MasterPage" id="2">
<page-footer>
<grid id="3">
<property name="width">100%</property>
<column id="4"/>
<row id="5">
<cell id="6">
<text id="7">
<property
name="contentType">html</property>
<text-property
name="content"><![CDATA[<value-of>new Date()</value-of>]]></text-property>
</text>
</cell>
</row>
</grid>
</page-footer>
</simple-master-page>
</page-setup>
<body>
<grid id="8">
<property name="height">0.333in</property>
<property name="width">5.968in</property>
<column id="9"/>
<row id="10">
<property name="height">0.333in</property>
<property name="textAlign">center</property>
<property name="verticalAlign">text-bottom</property>
<cell id="11">
<property name="verticalAlign">top</property>
<label id="12">
<property name="fontFamily">sans-serif</property>
<property name="fontWeight">bold</property>
<property name="textUnderline">underline</property>
<property name="textAlign">center</property>
<text-property name="text">Products by
Manufacturer</text-property>
</label>
</cell>
</row>
</grid>
<table name="table1" id="13">
<property name="width">100%</property>
<property name="dataSet">Item Details</property>
<column id="35">
<property name="width">1.52in</property>
</column>
<column id="36">
<property name="width">3.416in</property>
</column>
<column id="37">
<property name="width">1.052in</property>
<property name="textAlign">right</property>
</column>
<header>
<row id="14">
<property name="fontWeight">bold</property>
<property name="textAlign">center</property>
<cell id="15">
<property name="fontFamily">Swis721 Cn
BT</property>
<label id="43"/>
</cell>
<cell id="16">
<property name="fontFamily">Swis721 Cn
BT</property>
<label id="47">
<property name="textAlign">left</property>
<text-property
name="text">Description</text-property>
</label>
</cell>
<cell id="17">
<property name="fontFamily">Swis721 Cn
BT</property>
<label id="49">
<text-property name="text">Cost</text-property>
</label>
</cell>
</row>
</header>
<group id="18">
<property name="groupName">Manufacturer</property>
<property name="interval">none</property>
<property name="sortDirection">asc</property>
<expression name="keyExpr">row["manufacturer"]</expression>
<expression name="toc">row["manufacturer"]</expression>
<header>
<row id="19">
<property name="height">0.447in</property>
<property name="verticalAlign">bottom</property>
<cell id="20">
<property name="fontFamily">Swis721 Cn
BT</property>
<data id="51">
<property name="fontFamily">Swis721 BlkCn
BT</property>
<expression
name="valueExpr">row["manufacturer"]</expression>
</data>
</cell>
<cell id="21">
<property name="fontFamily">Swis721 Cn
BT</property>
</cell>
<cell id="22">
<property name="fontFamily">Swis721 Cn
BT</property>
</cell>
</row>
</header>
<footer>
<row id="23">
<cell id="24">
<property name="fontFamily">Swis721 Cn
BT</property>
</cell>
<cell id="25">
<property name="fontFamily">Swis721 Cn
BT</property>
</cell>
<cell id="26">
<property name="fontFamily">Swis721 Cn
BT</property>
</cell>
</row>
</footer>
</group>
<detail>
<row id="27">
<cell id="28">
<property name="fontFamily">Swis721 Cn
BT</property>
<data id="46">
<expression
name="valueExpr">row["sku"]</expression>
</data>
</cell>
<cell id="29">
<property name="fontFamily">Swis721 Cn
BT</property>
<data id="48">
<expression
name="valueExpr">row["description"]</expression>
</data>
</cell>
<cell id="30">
<property name="fontFamily">Swis721 Cn
BT</property>
<data id="50">
<structure name="numberFormat">
<property
name="category">Currency</property>
<property
name="pattern">$#,##0.00</property>
</structure>
<expression
name="valueExpr">row["cost"]</expression>
</data>
</cell>
</row>
</detail>
<footer>
<row id="31">
<cell id="32">
<property name="fontFamily">Swis721 Cn
BT</property>
</cell>
<cell id="33">
<property name="fontFamily">Swis721 Cn
BT</property>
</cell>
<cell id="34">
<property name="fontFamily">Swis721 Cn
BT</property>
</cell>
</row>
</footer>
</table>
</body>
</report>
|
|
|
Re: ClassDefNotFoundError trying to load ScriptedDataSetEventHandler in RCP Applicat [message #159401 is a reply to message #158463] |
Tue, 09 May 2006 05:08  |
Eclipse User |
|
|
|
Frank,
Can you add your class to the build path or in the runtime section of your
plugin.xml add a directory that contains the class?
Jason
"Frank" <fporcaro@techteriors.com> wrote in message
news:bf2161aa5d82ee97bd9e1f79d7587451$1@www.eclipse.org...
>I have an instance of BIRT generating reports using a scripted data source
>from within an eclipse RCP application.
>
> I can generate the pdf version of the report if I use javascript to create
> the row data, but if I attempt to use a custom
> ScriptedDataSetEventAdapter, the report engine fails when trying to load
> the event adapter.
>
> The application is made up of a bunch of plugins and there is a plugin
> that contains the report design file and the class that is my
> ScriptedDataSetEventAdapter.
>
> Following is the stack trace, the event handler code and the report
> design:
> STACK TRACE
> -----------
> May 4, 2006 5:02:06 PM
> org.eclipse.birt.report.engine.script.internal.ScriptExecuto r getInstance
> WARNING: com.techteriors.proposal.report.ProductDatabaseDataSetHandle r
> java.lang.ClassNotFoundException:
> com.techteriors.proposal.report.ProductDatabaseDataSetHandle r
> at
> org.eclipse.osgi.framework.internal.core.BundleLoader.findCl ass(BundleLoader.java:405)
> at
> org.eclipse.osgi.framework.internal.core.BundleLoader.findCl ass(BundleLoader.java:350)
> at
> org.eclipse.osgi.framework.adaptor.core.AbstractClassLoader. loadClass(AbstractClassLoader.java:78)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319 )
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:164)
> at
> org.eclipse.birt.report.engine.script.internal.ScriptExecuto r.getInstance(ScriptExecutor.java:103)
> at
> org.eclipse.birt.report.engine.script.internal.DataSetScript Executor.initEventHandler(DataSetScriptExecutor.java:48)
> at
> org.eclipse.birt.report.engine.script.internal.ScriptDataSet ScriptExecutor.initEventHandler(ScriptDataSetScriptExecutor. java:47)
> at
> org.eclipse.birt.report.engine.script.internal.DataSetScript Executor. <init>(DataSetScriptExecutor.java:39)
> at
> org.eclipse.birt.report.engine.script.internal.ScriptDataSet ScriptExecutor. <init>(ScriptDataSetScriptExecutor.java:42)
> at
> org.eclipse.birt.report.engine.adapter.ModelDteApiAdapter.ne wScriptDataSet(ModelDteApiAdapter.java:383)
> at
> org.eclipse.birt.report.engine.adapter.ModelDteApiAdapter.cr eateDataSetDesign(ModelDteApiAdapter.java:192)
> at
> org.eclipse.birt.report.engine.data.dte.DteDataEngine.prepar e(DteDataEngine.java:153)
> at
> org.eclipse.birt.report.engine.executor.ReportExecutor.execu te(ReportExecutor.java:107)
> at
> org.eclipse.birt.report.engine.executor.ReportExecutor.execu te(ReportExecutor.java:89)
> at
> org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run (RunAndRenderTask.java:175)
> at
> com.techteriors.core.report.TtReportEngine.runAndRenderJob(T tReportEngine.java:83)
> at
> com.techteriors.proposal.report.TestProductDatabaseReport.te stManufacturerDesign(TestProductDatabaseReport.java:51)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at junit.framework.TestCase.runTest(TestCase.java:154)
> at junit.framework.TestCase.runBare(TestCase.java:127)
> at junit.framework.TestResult$1.protect(TestResult.java:106)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.framework.TestResult.run(TestResult.java:109)
> at junit.framework.TestCase.run(TestCase.java:118)
> at junit.framework.TestSuite.runTest(TestSuite.java:208)
> at junit.framework.TestSuite.run(TestSuite.java:203)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTe sts(RemoteTestRunner.java:478)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(R emoteTestRunner.java:344)
> at
> org.eclipse.pde.internal.junit.runtime.RemotePluginTestRunne r.main(RemotePluginTestRunner.java:57)
> at
> org.eclipse.pde.internal.junit.runtime.CoreTestApplication.r un(CoreTestApplication.java:24)
> at
> org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:226)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:376)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:163)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334 )
> at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
> at org.eclipse.core.launcher.Main.run(Main.java:973)
> at org.eclipse.core.launcher.Main.main(Main.java:948)
>
> EVENT HANDLER CODE
> ------------------
> /**
> * */
> package com.techteriors.proposal.report;
>
> import org.eclipse.birt.report.engine.api.script.IUpdatableDataSetR ow;
> import org.eclipse.birt.report.engine.api.script.ScriptException;
> import
> org.eclipse.birt.report.engine.api.script.eventadapter.Scrip tedDataSetEventAdapter;
> import
> org.eclipse.birt.report.engine.api.script.instance.IDataSetI nstance;
>
> import com.techteriors.util.ExceptionAdapter;
>
> /**
> * @author fporcaro
> *
> */
> public class ProductDatabaseDataSetHandler extends
> ScriptedDataSetEventAdapter {
> protected int count = 0;
> /**
> * */
> public ProductDatabaseDataSetHandler() {
> super();
> // TODO Auto-generated constructor stub
> }
>
> @Override
> public boolean fetch(IDataSetInstance dataSet, IUpdatableDataSetRow row) {
> // Equiv working JavaScript
> // row.sku = "SKU" + count;
> // row.manufacturer = manufacturer.getName();
> // row.description = "This is a description of item " + count;
> // row.cost = count * 100;
>
> try {
> row.setColumnValue("SKU", "SKU"+count);
> row.setColumnValue("manufacturer", "Manufacturer");
> row.setColumnValue("description", "This is a description of "+count);
> row.setColumnValue("cost", count * 100);
> } catch (ScriptException e) {
> throw new ExceptionAdapter(e);
> }
> if(count++ > 10)
> return false;
> else
> return true;
> }
> }
>
>
> REPORT DESIGN
> -------------
> <?xml version="1.0" encoding="UTF-8"?>
> <!-- Written by Eclipse BIRT 2.0 -->
> <report xmlns="http://www.eclipse.org/birt/2005/design" version="3"
> id="1">
> <property name="createdBy">Eclipse BIRT Designer Version 1.0.1 Build
> <20051130-1157></property>
> <property name="units">in</property>
> <data-sources>
> <script-data-source name="ProductDatabase" id="41">
> <method name="open"><![CDATA[obj = new Object();]]></method>
> <method name="close"><![CDATA[obj = null;]]></method>
> </script-data-source>
> </data-sources>
> <data-sets>
> <script-data-set name="Item Details" id="42">
> <property
> name="eventHandlerClass"> com.techteriors.proposal.rptdesign.ProductDatabaseDataSetHan dler </property>
> <property name="dataSource">ProductDatabase</property>
> <list-property name="resultSet">
> <structure>
> <property name="position">1</property>
> <property name="name">manufacturer</property>
> <property name="dataType">any</property>
> </structure>
> <structure>
> <property name="position">2</property>
> <property name="name">sku</property>
> <property name="dataType">any</property>
> </structure>
> <structure>
> <property name="position">3</property>
> <property name="name">description</property>
> </structure>
> <structure>
> <property name="position">4</property>
> <property name="name">cost</property>
> <property name="dataType">float</property>
> </structure>
> </list-property>
> <list-property name="columnHints">
> <structure>
> <property name="columnName">manufacturer</property>
> </structure>
> <structure>
> <property name="columnName">sku</property>
> </structure>
> <structure>
> <property name="columnName">description</property>
> </structure>
> <structure>
> <property name="columnName">cost</property>
> </structure>
> </list-property>
> </script-data-set>
> </data-sets>
> <page-setup>
> <simple-master-page name="Simple MasterPage" id="2">
> <page-footer>
> <grid id="3">
> <property name="width">100%</property>
> <column id="4"/>
> <row id="5">
> <cell id="6">
> <text id="7">
> <property
> name="contentType">html</property>
> <text-property
> name="content"><![CDATA[<value-of>new Date()</value-of>]]></text-property>
> </text>
> </cell>
> </row>
> </grid>
> </page-footer>
> </simple-master-page>
> </page-setup>
> <body>
> <grid id="8">
> <property name="height">0.333in</property>
> <property name="width">5.968in</property>
> <column id="9"/>
> <row id="10">
> <property name="height">0.333in</property>
> <property name="textAlign">center</property>
> <property name="verticalAlign">text-bottom</property>
> <cell id="11">
> <property name="verticalAlign">top</property>
> <label id="12">
> <property name="fontFamily">sans-serif</property>
> <property name="fontWeight">bold</property>
> <property name="textUnderline">underline</property>
> <property name="textAlign">center</property>
> <text-property name="text">Products by
> Manufacturer</text-property>
> </label>
> </cell>
> </row>
> </grid>
> <table name="table1" id="13">
> <property name="width">100%</property>
> <property name="dataSet">Item Details</property>
> <column id="35">
> <property name="width">1.52in</property>
> </column>
> <column id="36">
> <property name="width">3.416in</property>
> </column>
> <column id="37">
> <property name="width">1.052in</property>
> <property name="textAlign">right</property>
> </column>
> <header>
> <row id="14">
> <property name="fontWeight">bold</property>
> <property name="textAlign">center</property>
> <cell id="15">
> <property name="fontFamily">Swis721 Cn
> BT</property>
> <label id="43"/>
> </cell>
> <cell id="16">
> <property name="fontFamily">Swis721 Cn
> BT</property>
> <label id="47">
> <property name="textAlign">left</property>
> <text-property
> name="text">Description</text-property>
> </label>
> </cell>
> <cell id="17">
> <property name="fontFamily">Swis721 Cn
> BT</property>
> <label id="49">
> <text-property name="text">Cost</text-property>
> </label>
> </cell>
> </row>
> </header>
> <group id="18">
> <property name="groupName">Manufacturer</property>
> <property name="interval">none</property>
> <property name="sortDirection">asc</property>
> <expression name="keyExpr">row["manufacturer"]</expression>
> <expression name="toc">row["manufacturer"]</expression>
> <header>
> <row id="19">
> <property name="height">0.447in</property>
> <property name="verticalAlign">bottom</property>
> <cell id="20">
> <property name="fontFamily">Swis721 Cn
> BT</property>
> <data id="51">
> <property name="fontFamily">Swis721 BlkCn
> BT</property>
> <expression
> name="valueExpr">row["manufacturer"]</expression>
> </data>
> </cell>
> <cell id="21">
> <property name="fontFamily">Swis721 Cn
> BT</property>
> </cell>
> <cell id="22">
> <property name="fontFamily">Swis721 Cn
> BT</property>
> </cell>
> </row>
> </header>
> <footer>
> <row id="23">
> <cell id="24">
> <property name="fontFamily">Swis721 Cn
> BT</property>
> </cell>
> <cell id="25">
> <property name="fontFamily">Swis721 Cn
> BT</property>
> </cell>
> <cell id="26">
> <property name="fontFamily">Swis721 Cn
> BT</property>
> </cell>
> </row>
> </footer>
> </group>
> <detail>
> <row id="27">
> <cell id="28">
> <property name="fontFamily">Swis721 Cn
> BT</property>
> <data id="46">
> <expression
> name="valueExpr">row["sku"]</expression>
> </data>
> </cell>
> <cell id="29">
> <property name="fontFamily">Swis721 Cn
> BT</property>
> <data id="48">
> <expression
> name="valueExpr">row["description"]</expression>
> </data>
> </cell>
> <cell id="30">
> <property name="fontFamily">Swis721 Cn
> BT</property>
> <data id="50">
> <structure name="numberFormat">
> <property
> name="category">Currency</property>
> <property
> name="pattern">$#,##0.00</property>
> </structure>
> <expression
> name="valueExpr">row["cost"]</expression>
> </data>
> </cell>
> </row>
> </detail>
> <footer>
> <row id="31">
> <cell id="32">
> <property name="fontFamily">Swis721 Cn
> BT</property>
> </cell>
> <cell id="33">
> <property name="fontFamily">Swis721 Cn
> BT</property>
> </cell>
> <cell id="34">
> <property name="fontFamily">Swis721 Cn
> BT</property>
> </cell>
> </row>
> </footer>
> </table>
> </body>
> </report>
>
>
|
|
|
Powered by
FUDForum. Page generated in 0.06807 seconds