このトピックでは、レポート・レイアウト・イベント・ハンドラーをコーディングする際に使用する、EGL の外部型について概説します。 背景情報については、『EGL BIRT レポート』、『EGL BIRT ハンドラー』、および『BIRT レポート・レイアウト・イベント・ハンドラー』を参照してください。
CellInstance 型の変数は、レポートのテーブルまたはグリッド内にあるセルを参照します。 背景に関する詳細情報の 1 つとして、Report Designer またはイベント・ハンドラーでは、列、行、 または列と行の両方を結合することによってセルを定義できるということがあります。
ReportElementInstance のセクションで説明されている関数およびフィールドも使用できます。
function myFunction( myCell CellInstance, myContext ReportContext )
{ eventType = onCreate, elementName = "myTable", rowNumber = 2 }
if (myCell.columnNumber == 1)
;
end
end
ReportElementInstance および ReportItemInstance のセクションで説明されているフィールドおよび関数も使用できます。
function myFunction( myData DataInstance, myContext ReportContext )
{ eventType = onCreate, elementName = "DepartmentName"}
if (myData.value == "Sales")
;
end
end
ReportElementInstance および ReportItemInstance のセクションで説明されているフィールドおよび関数も使用できます。
function myFunction( myText DynamicTextInstance, myContext ReportContext )
{ eventType = onCreate, elementName = "resultOfEvaluation" }
if (myText.text == "<b>Promote!</b>";
;
end
end
GridInstance 型の変数は、単純なテーブル状の構造であるグリッドを参照します。 ReportElementInstance および ReportItemInstance のセクションで説明されている関数のみを使用できます。
function myFunction( myGridInstance GridInstance, myContext ReportContext )
{ eventType = onCreate, elementName = "myGrid" }
;
end
BIRT Designer で作業する際、イメージの型は「イメージ項目の編集」画面で指定します。 BIRT 文書では、URI 型および File 型のイメージをリンク・イメージ として参照します。
この変数では、以下のフィールドを使用できます。
Java コードでの getter および setter メソッドは、getData および setData です。
Java コードでの getter および setter メソッドは、getImageName および setImageName です。
Java コードでの getter および setter メソッドは、getURL および setURL です。
Java コードでの getter メソッドは、getURI です。
Java コードでの getter および setter メソッドは、getMimeType および setMimeType です。
Java コードでの getter および setter メソッドは、getFile および setFile です。
function changeImage( theImage ImageInstance, myContext ReportContext )
{ eventType = onCreate, elementName = "salesGraphic" }
theImage.imageURI == "file:///c:/images/myGraphic01.bmp";
end
function changeImage( theImage ImageInstance, myContext ReportContext )
{ eventType = onCreate, elementName = "salesGraphic02" }
theImage.embeddedImageName = "myGraphic02.bmp";
end
ReportElementInstance および ReportItemInstance のセクションで説明されているフィールドおよび関数も使用できます。
function myLabelFunction( theLabel LabelInstance, myContext ReportContext )
{ eventType = onCreate, elementName = "remark_label" }
balance float = theLabel.getRowData().getColumnValue("account_balance");
if( balance > 0 )
theLabel.text = "Balance Due";
theLabel.getStyle().color = "red";
end
end
ListInstance 型の変数は、リストを参照します。 ReportElementInstance および ReportItemInstance のセクションで説明されている関数のみを使用できます。
function myFunction( myList ListInstance, myContext ReportContext )
{ eventType = onCreate, elementName = "employeeList" }
;
end
reportContext.setParameterValue
( parameterName STRING in, parameterValue ANY in )
reportContext.getParameterValue
( parameterName STRING in) returns (ANY)
ReportContext は、レポート・レイアウト要素の型ではないため、ここで説明する ReportElementInstance および ReportItemInstance のセクションとは関係ありません。
ReportElementInstance 型は Java™ のスーパークラスに相当し、他のすべてのレポート・レイアウト要素の型 (CellInstance、RowInstance、および Java のスーパークラス ReportItemInstance など) よりも上位にあります。 このセクションで説明するフィールドおよび関数は、これらのどの型の変数でも使用できます。
一部のフィールドおよび関数は、カスケーディング・スタイル・シート (CSS) での単位である、cm (センチメートル)、em (特定のフォントで必要になる高さ)、ex (文字「x」のフォント固有の高さ)、in (インチ)、mm (ミリメートル)、pc (パイカ)、% (エンクロージング要素の高さのパーセント)、pt (ポイント)、および px (ピクセル) にアクセスします。 背景の詳細情報については、http://www.w3.org/TR/CSS21/syndata.html を参照してください。
element.getParent()returns (ReportElementInstance)
function myLabelFunction( theLabel LabelInstance, myContext ReportContext )
{ eventType = onCreate, elementName = "remark_label" }
myReportInstance ReportElementInstance = theLabel.getParent();
if (myReportInstance isa CellInstance )
myCellInstance CellInstance =
myReportElementInstance as CellInstance;
if (myCellInstance.columnNumber == 1)
;
end
end
end
element.getRowData() returns (RowData)
element.getStyle() returns (Style)
element.getNamedExpressionValue
(expressionName STRING in) returns (ANY)
function onTotalLabel( l LabelInstance, c ReportContext )
{ eventType = onCreate, elementName = "total" }
l.text = "Total balance = " + l.getNamedExpressionValue("BalanceTotal");
end
RowData は LabelInstance のようなレポート・レイアウト要素の型ではないため、RowData 型のパラメーターを使用するイベント・ハンドラーはありません。 その代わりに、ReportElementInstance セクションの説明にある element.getRowData() を呼び出すと、RowData 型のオブジェクトが返されます。
element.getRowData().getColumnCount() returns (INT)
element.getRowData().getColumnName( columnNumber INT in )returns (STRING)
第 1 列は数字 0 ではなく 1 です。
element.getRowData().getColumnValue( columnName STRING in )returns (ANY)
element.getRowData().getColumnValue( columnNumber INT in ) returns (ANY)
第 1 列は数字 0 ではなく 1 です。
RowInstance 型の変数は、レポートのテーブル内にある行を参照します。 ReportElementInstance のセクションで説明されている関数のみを使用できます。
function myFunction( myRow RowInstance, myContext ReportContext )
{ eventType = onCreate, elementName = "myTable", rowType = detail, rowNumber = 2 }
;
end
Style は LabelInstance のようなレポート・レイアウト要素の型ではないため、Style 型のパラメーターを使用するイベント・ハンドラーはありません。 その代わりに、ReportElementInstance セクションの説明にある element.getStyle() を呼び出すと、Style 型のオブジェクトが返されます。
myElement.getStyle().backgroundColor = "red";
myColor STRING;
myColor = myElement.getStyle().backgroundColor;
次の表に示すとおり、この方法で多くの Java フィールドにアクセスできます。
| フィールド名 | 意味 |
|---|---|
| backgroundAttachment | 背景イメージが、ページの残りをスクロール表示するようになっているか、位置固定になっているかを指定します。 値は「scroll」(デフォルト) または「fixed」です。 |
| backgroundColor | 要素の背景色。 |
| backgroundImage | 背景イメージの Web アドレスまたはファイル・アドレス。 |
| backgroundPositionX | 背景イメージの水平位置。値は、「center」、「left」、「right」、または数値および単位からなるストリング (「12pc」など) です。 ストリングにはスペースがありません。単位の詳細については、 ReportElementInstance のセクションを参照してください。 |
| backgroundPositionY | 背景イメージの垂直位置。値は、「center」、「top」、「bottom」、または数値および単位からなるストリング (「12pc」など) です。 ストリングにはスペースがありません。単位の詳細については、 ReportElementInstance のセクションを参照してください。 |
| backgroundRepeat | 背景イメージを並べて表示するかどうかを指定します。値は、「repeat」(デフォルト。ページの水平方向、垂直方向に並べて表示します)、「no-repeat」、「repeat-x」(ページの水平方向に並べて表示します)、または「repeat-y」 (ページの垂直方向に並べて表示します) です。 |
| borderBottomColor | 下の枠線の色。 色は、borderBottomStyle が設定されている場合にのみ使用できます。 |
| borderBottomStyle | 下の枠線を表す値 (ある場合)。値は、「solid」、「dotted」、「dashed」、「double」です。 |
| borderBottomWidth | 下の枠線の幅。値は、「thin」、「medium」、「thick」です。 幅は、borderBottomStyle が設定されている場合にのみ使用できます。 |
| borderLeftColor | 左端の枠線の色。 色は、borderLeftStyle が設定されている場合にのみ使用できます。 |
| borderLeftStyle | 左端の枠線を表す値 (ある場合)。値は、「solid」、「dotted」、「dashed」、「double」です。 |
| borderLeftWidth | 左端の枠線の幅。値は、「thin」、「medium」、「thick」です。 幅は、borderLeftStyle が設定されている場合にのみ使用できます。 |
| borderRightColor | 右端の枠線の色。 色は、borderRightStyle が設定されている場合にのみ使用できます。 |
| borderRightStyle | 右端の枠線を表す値 (ある場合)。値は、「solid」、「dotted」、「dashed」、「double」です。 |
| borderRightWidth | 右端の枠線の幅。値は、「thin」、「medium」、「thick」です。 幅は、borderRightStyle が設定されている場合にのみ使用できます。 |
| borderTopColor | 上の枠線の色。 色は、borderTopStyle が設定されている場合にのみ使用できます。 |
| borderTopStyle | 上の枠線を表す値 (ある場合)。値は、「solid」、「dotted」、「dashed」、「double」です。 |
| borderTopWidth | 上の枠線の幅。値は、「thin」、「medium」、「thick」です。 幅は、borderTopStyle が設定されている場合にのみ使用できます。 |
| canShrink | コンテンツがスペース全体を使用しない場合に、HTML 出力内のテキスト・エリアを縮小するかどうかを指定します。値は、「false」(デフォルト) または「true」です。 |
| color | 要素の前景色。 |
| dateFormat | BIRT に定義されている以下の標準日付形式の 1 つ。
また BIRT では、Report Designer で、Java の SimpleDateFormat クラスでサポートされているパターンを基にしたカスタム形式を定義できるようにしています。 「M/d/yyyy, E」という形式を使用した場合であれば、上の例の日付が「10/20/1998 Tues」と表示されます。 |
| displayType | 要素を、別のテキスト・ブロックに表示するか、現在のテキスト・ブロック内の現在の行に表示するか、または表示しないかを指定します。 値は、「block」(デフォルト)、「inline」、および「none」です。 EGL の displayType プロパティーは、その基礎となる Java 固有の display プロパティーと同等のものです。 |
| fontFamily | フォント・ファミリー。値は、「serif」(デフォルト)、「sans-serif」、「cursive」、「fantasy」、「monospace」などです。 |
| fontSize | テキストのフォント・サイズ。 BIRT に定義されている標準サイズの 1 つ。値は、「medium」(デフォルト)、「large」、「larger」、「small」、「smaller」、「x-large」、「x-small」、「xx-large」、または「xx-small」です。 あるいは、数値および単位からなるストリング値 (「12pc」など) を指定します。 ストリングにはスペースがありません。単位の詳細については、 ReportElementInstance のセクションを参照してください。 |
| fontStyle | テキストのフォント・スタイル。値は、「normal」(デフォルト)、「italic」、または「oblique」です。 |
| fontVariant | フォント・バリアント。値は、「normal」(デフォルト)、「small-caps」です。 |
| fontWeight | テキストのフォント幅。値は、「normal」、「bold」、「bolder」、「lighter」、または 100 から 900 までの 100 刻みの値です。 |
| letterSpacing | 文字間のスペース。 デフォルト値は、「normal」(フォント固有値) です。 あるいは、数値および単位からなるストリング値 (「12pc」など) を指定します。 ストリングにはスペースがありません。単位の詳細については、 ReportElementInstance のセクションを参照してください。 |
| lineHeight | 行の高さ。デフォルト値は、「normal」(フォント固有値) です。 あるいは、数値および単位からなるストリング値 (「12pc」など) を指定します。 ストリングにはスペースがありません。単位の詳細については、 ReportElementInstance のセクションを参照してください。 |
| marginBottom | 下の枠線と、水平方向に伸びた次の要素の間のスペース。 ストリングにはブランクがなく、単位 (「12pc」など) を含んでいます。単位の詳細については、 ReportElementInstance のセクションを参照してください。 |
| marginLeft | 左端の枠線と、垂直方向に伸びた前の要素の間のスペース。 ストリングにはブランクがなく、単位 (「12pc」など) を含んでいます。単位の詳細については、 ReportElementInstance のセクションを参照してください。 |
| marginRight | 右端の枠線と、垂直方向に伸びた次の要素の間のスペース。 ストリングにはブランクがなく、単位 (「12pc」など) を含んでいます。単位の詳細については、 ReportElementInstance のセクションを参照してください。 |
| marginTop | 上の枠線と、水平方向に伸びた前の要素の間のスペース。 ストリングにはブランクがなく、単位 (「12pc」など) を含んでいます。単位の詳細については、 ReportElementInstance のセクションを参照してください。 |
| masterPage | マスター・ページを識別するストリング。 |
| numberFormat | BIRT に定義されている以下の標準数字フォーマットの 1 つ。 値は、「General Number」、「Fixed」、「Percent」、および「Scientific」などです。 また BIRT では、Report Designer で、Java の DecimalFormat クラスでサポートされているパターンを基にしたカスタム形式を定義できるようにしています。 「$#,##0.00」というフォーマットを使用した場合であれば、123456 が「$1,234.56」と表示されます。 |
| paddingBottom | 要素の内容と、要素の下の枠線の間のスペース。 ストリングにはブランクがなく、単位 (「12pc」など) を含んでいます。単位の詳細については、 ReportElementInstance のセクションを参照してください。 |
| paddingLeft | 要素の内容と、要素の境界線の左端の枠線の間のスペース。 ストリングにはブランクがなく、単位 (「12pc」など) を含んでいます。単位の詳細については、 ReportElementInstance のセクションを参照してください。 |
| paddingRight | 要素の内容と、要素の境界線の右端の枠線の間のスペース。 ストリングにはブランクがなく、単位 (「12pc」など) を含んでいます。単位の詳細については、 ReportElementInstance のセクションを参照してください。 |
| paddingTop | 要素の内容と、要素の境界線の一番上の枠線の間のスペース。 ストリングにはブランクがなく、単位 (「12pc」など) を含んでいます。単位の詳細については、 ReportElementInstance のセクションを参照してください。 |
| pageBreakAfter | 要素の後で改ページを行うかどうかを指定します。値は、「auto」(デフォルト。他のスペース要件で必要とされた場合に自動で改ページを行うことを示します)、「always」、「avoid」、「always-excluding-first」、「always-excluding-last」です。 |
| pageBreakBefore | 要素の前で改ページを行うかどうかを指定します。値は、「auto」(デフォルト。他のスペース要件で必要とされた場合に自動で改ページを行うことを示します)、「always」、「avoid」、「always-excluding-first」、「always-excluding-last」です。 |
| pageBreakInside | 要素の中で改ページを行うかどうかを指定します。値は、「auto」(デフォルト。他のスペース要件で必要とされた場合に自動で改ページを行うことを示します)、「avoid」です。 |
| showIfBlank | 要素が空の場合、またはそのすべての従属要素が空の場合にも要素を表示するかどうかを指定します。値は、「false」(デフォルト)、「true」です。 |
| stringFormat | BIRT で定義された記号 (@ & | > < など) のシステムを基にしたフォーマット・ストリング。 |
| textAlign | 水平方向の位置合わせを表す値の 1 つ。値は、「left」、「right」、「center」、「justify」です。 |
| textIndent | 要素内のテキストのインデント。 ストリングにはブランクがなく、単位 (「12pc」など) を含んでいます。単位の詳細については、 ReportElementInstance のセクションを参照してください。 |
| textTransform | 要素内に置かれたテキストの変更方法を指定します。値は、「none」(デフォルト。変更は行いません)、「capitalize」(各ワードの先頭文字のみ大文字にします)、「uppercase」(すべての文字を大文字にします)、「lowercase」(すべての文字を小文字にします) です。 |
| verticalAlign | 垂直方向の位置合わせを表す値の 1 つ。値は、「top」、「middle」、「bottom」です。 |
| visibleFormat | レポートを特定のフォーマットで出力する際に、要素を非表示にするかどうかを指定します。値は、「all」、「pdf」、「html」です。 |
| whiteSpace | HTML 出力における要素テキスト内の空白文字の処理方法を指定します。値は、「normal」(デフォルト。余分な空白文字を除去して、要素幅に収まるように、必要に応じて改行を挿入します)、「pre」 (要素テキスト内の空白文字を、改行を含めてそのままにします)、「nowrap」 (余分な空白文字は除去しますが、改行は挿入しません) です。 ブラウザーのタイプやバージョンによって、具体的な動作は異なることがあります。 |
| wordSpacing | ワード間のスペース。 デフォルト値は、「normal」(フォント固有値) です。 あるいは、数値および単位からなるストリング値 (「12pc」など) を指定します。 ストリングにはスペースがありません。単位の詳細については、 ReportElementInstance のセクションを参照してください。 |
function myFunction( myTable TableInstance, myContext ReportContext )
{ eventType = onCreate, elementName = "myTable" }
;
end
ReportElementInstance および ReportItemInstance のセクションで説明されているフィールドおよび関数も使用できます。
function myFunction( myText TextInstance, myContext ReportContext )
{ eventType = onCreate, elementName = "conclusion" }
if (myText.text == "<b>Promote!</b>";
;
end
end