2012-01-04 11 views
1

ジャスパーレポートでテーブルを作成したいと思います。 これはiReportのiReportで実行できますが(:-))、テーブルの内容(たとえば列の名前)が変更されているため、Javaコードからレポートを作成したいjrxmlファイル)。ジャスパーがテーブルの作成を報告します

どうすれば可能ですか?

これまでのところ、これは私が(唯一の主要な部分を)やっていることです:

//table component 
final StandardTable table = new StandardTable(); 
final StandardColumn col1 = new StandardColumn();  
final DesignCell col1Header = new DesignCell(); 
final JRDesignStaticText textElement = new JRDesignStaticText(); 

col1Header.addElement(textElement); 
col1.setDetailCell(col1Header); 
table.addColumn(col1); 

/datasource 
final JRDesignDatasetParameter param = new JRDesignDatasetParameter(); 
param.setName("REPORT_DATA_SOURCE"); 
final JRDesignExpression exp = new JRDesignExpression("$P{REPORT_DATA_SOURCE}"); 
param.setExpression(exp); 

//datasetrun 
final JRDesignDatasetRun drs = new JRDesignDatasetRun(); 
table.setDatasetRun(drs); 
drs.addParameter(param); 

継続する方法は?

は krisy、ありがとう誰もが同じ問題時につまずく場合

答えて

2

(および将来のために自分:-))は、ここで、上記のコードを継続するには、レポートの要約を表要素を追加する方法であります:

//create reportElement (inside componentelement) 
JRDesignComponentElement reportElem = new JRDesignComponentElement(); 
//reportElem.setKey("table"); 
reportElem.setComponentKey(new ComponentKey("http://jasperreports.sourceforge.net/jasperreports/components", "jr", "table")); 
reportElem.setComponent(table); 
reportElem.setHeight(100); 
reportElem.setWidth(100); 

//add to summary 
jRSummary.addElement(reportElem); 

(ハード部分がComponentKeyオブジェクトを作成する方法を見つけることでした)

注:テーブルを使用するためには、サブデータ要素は、同様に作成する必要があります。

+0

「jr」を使用する理由を説明してください。 componentKeyを作成するのに必要なHtmlComponentを作成します。 '次のエラーが表示されます。'名前htmlComponent、名前空間http:// jasperreports.sourceforge.net/htmlcomponent'のコンポーネントマネージャーが見つかりませんでした。 – michdraft

関連する問題