|
|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectjavax.servlet.jsp.tagext.TagSupport
javax.servlet.jsp.tagext.BodyTagSupport
org.opengion.hayabusa.taglib.CommonTagSupport
org.opengion.hayabusa.taglib.ViewParamTag
org.opengion.hayabusa.taglib.ViewCrossParamTag
public class ViewCrossParamTag
viewタグの viewFormType が HTMLCrossTable の場合にパラメータを設定します。
クロス集計を行う、ViewForm_HTMLCrossTable クラスに対して、各種パラメータを
設定します。
パラメータが設定されていない場合は、ViewCrossTableParam の初期値が使用されます。
(パラメータを使用するには、viewタグのuseParam 属性をtrueに設定する必要があります。)
SELECT文は、CROSS集計機能を利用して求めます。そのときのフォーマットは、
ヘッダー1..N,縦,横,計1..N になります。
ヘッダー部は、複数指定できますが、デフォルトではヘッダーNがキーブレイクすると
合計用のヘッダーが挿入されます。また、ヘッダーは、前段と同じ値の場合は、表示しません。
合計は、複数並べることができますが、sumNumber で指定しておく必要があります。
各属性は、{@XXXX} 変数が使用できます。
これは、ServletRequest から、XXXX をキーに値を取り出し,この変数に割り当てます。
つまり、このXXXXをキーにリクエストすれば、この変数に値をセットすることができます。
http://localhost/query.jsp?KEY1=VLA1&KEY2=VAL2
のようなリクエストで、{@KEY1} とすれば、 VAL1 がセットされます。
●形式:<og:crossParam breakColumn="ZZZ" noGroupColumns="AAA,BBB" sumNumber="2" /> ●body:なし ●Tag定義: <og:crossParam cubeXColumn 【TAG】CUBE計算の1つ目(X)カラムを指定します cubeYColumn 【TAG】CUBE計算の2つ目(Y)カラムを指定します sumNumber 【TAG】合計値のカラム数を設定します breakColumn 【TAG】ブレークによりヘッダー部を出力させるカラム名をセットします(初期値:ヘッダーN) noGroupColumns 【TAG】カラム値を前段と比較して同じ場合でも表示させるカラム名をセットします shokeiLabel 【TAG】列小計のカラムに表示するラベルIDを指定します(初期値:空文字列) gokeiLabel 【TAG】列合計のカラムに表示するラベルIDを指定します(初期値:空文字列) cubeSortType 【TAG】CUBE Y の列ヘッダーのソート方式を指定します(初期値:LOAD) gokeiSortDir 【TAG】合計行のソート有無とその方向[true:正方向/false:逆方向/null:ソートしない]を指定します(初期値:null) useHeaderColumn 【TAG】ヘッダーカラムにレンデラー、エディターを適用するかを指定します(初期値:false) useClassAdd 【TAG】各列情報のclass属性に、カラム名などを付与するかどうかを指定します(初期値:false) firstClmGokei 【TAG】合計列をCUBEの先頭部分に出すかどうか[true/false]を指定します(初期値:false) saveTableId 【TAG】クロス集計結果の DBTableModel をセーブするセッションキーワードを指定します saveScope 【TAG】クロス集計結果の DBTableModel をセーブする scope を指定します setHeaderResource 【TAG】ヘッダー表示にラベルリソースを適用するかどうかを指定します(初期値:false) setHeaderCodeColumn【TAG】ヘッダー表示に利用するコードを持つカラムを指定します(初期値:空文字列) debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) /> ●使用例 ViewFormTag の viewFormType が、HTMLCrossTable の場合に使用します。 useParam 属性を設定しておかないと、使用されません。 <og:view viewFormType = "HTMLCrossTable" command = "{@command}" startNo = "0" pageSize = "20" useParam = "true" > <og:crossParam breakColumn = "ZZZ" : ブレークによりヘッダー部を出力させるカラム名 noGroupColumns = "AAA,BBB" : カラム値を前段と比較して同じ場合でも表示させるカラム名 cubeXColumn = "CUBE_X" : CUBE計算の1つ目(X)カラムを指定 cubeYColumn = "CUBE_Y" : CUBE計算の2つ目(Y)カラムを指定 shokeiLabel = "SHOKEI" : 列小計のカラムに表示するラベルID(初期値:SHOKEI) gokeiLabel = "GOKEI" : 列合計のカラムに表示するラベルID(初期値:GOKEI) sumNumber = "2" : 合計値のカラム数(初期値1) cubeSortType = "NUMBER" : CUBE Y の列ヘッダーのソート方式を指定[STRING/NUMBER/LOAD] gokeiSortDir = "false" : 合計行のソート有無とその方向(正方向/逆方向)を指定[true/false/null] firstClmGokei = "true" : 合計列をCUBEの先頭部分に出すかどうかを指定[false/true/null] useHeaderColumn= "true" : ヘッダーカラムにレンデラー、エディターを適用するかどうかを指定[false/true/null] saveTableId = "DEFAULT" : クロス集計結果の DBTableModel をセーブするセッションキーワードを指定 useClassAdd = "true" : String 各列情報のclass属性に、カラム名などを付与するかどうかを指定[false/true/null] /> </og:view >
フィールドの概要 |
---|
クラス javax.servlet.jsp.tagext.BodyTagSupport から継承されたフィールド |
---|
bodyContent |
クラス javax.servlet.jsp.tagext.TagSupport から継承されたフィールド |
---|
id, pageContext |
インタフェース javax.servlet.jsp.tagext.BodyTag から継承されたフィールド |
---|
EVAL_BODY_BUFFERED, EVAL_BODY_TAG |
インタフェース javax.servlet.jsp.tagext.IterationTag から継承されたフィールド |
---|
EVAL_BODY_AGAIN |
インタフェース javax.servlet.jsp.tagext.Tag から継承されたフィールド |
---|
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE |
コンストラクタの概要 | |
---|---|
ViewCrossParamTag()
|
メソッドの概要 | |
---|---|
protected java.lang.String |
getTagName()
タグの名称を、返します。 |
void |
setBreakColumn(java.lang.String clm)
【TAG】ブレークによりヘッダー部を出力させるカラム名をセットします(初期値:ヘッダーN)。 |
void |
setCubeSortType(java.lang.String cubeSortType)
【TAG】CUBE Y の列ヘッダーのソート方式を指定します(初期値:LOAD)。 |
void |
setCubeXColumn(java.lang.String cubeX)
【TAG】CUBE計算の1つ目(X)カラムを指定します。 |
void |
setCubeYColumn(java.lang.String cubeY)
【TAG】CUBE計算の2つ目(Y)カラムを指定します。 |
void |
setFirstClmGokei(java.lang.String firstClmGokei)
【TAG】合計列をCUBEの先頭部分に出すかどうか[true/false]を指定します(初期値:false)。 |
void |
setGokeiLabel(java.lang.String id)
【TAG】列合計のカラムに表示するラベルIDを指定します(初期値:空文字列)。 |
void |
setGokeiSortDir(java.lang.String gokeiSortDir)
【TAG】合計行のソート有無とその方向[true:正方向/false:逆方向/null:ソートしない]を指定します(初期値:null)。 |
void |
setHeaderCodeColumn(java.lang.String headerCode)
【TAG】ヘッダーのラベルに利用するコードリソースを指定します。 |
void |
setNoGroupColumns(java.lang.String clms)
【TAG】カラム値を前段と比較して同じ場合でも表示させるカラム名をセットします。 |
void |
setSaveScope(java.lang.String scope)
【TAG】クロス集計結果の DBTableModel をセーブする scope を指定します。 |
void |
setSaveTableId(java.lang.String id)
【TAG】クロス集計結果の DBTableModel をセーブするセッションキーワードを指定します。 |
void |
setShokeiLabel(java.lang.String id)
【TAG】列小計のカラムに表示するラベルIDを指定します(初期値:空文字列)。 |
void |
setSumNumber(java.lang.String no)
【TAG】合計値のカラム数を設定します(初期値:1)。 |
void |
setUseClassAdd(java.lang.String useClassAdd)
【TAG】各列情報のclass属性に、カラム名などを付与するかどうかを指定します(初期値:false)。 |
void |
setUseHeaderColumn(java.lang.String useHeaderColumn)
【TAG】ヘッダーカラムにレンデラー、エディターを適用するかを指定します(初期値:false)。 |
void |
setUseHeaderResource(java.lang.String useHeaderResource)
【TAG】ヘッダーカラムにラベルリソースを利用するかを指定します(初期値:false)。 |
クラス org.opengion.hayabusa.taglib.ViewParamTag から継承されたメソッド |
---|
doEndTag, initParam, putParam, release2, toString |
クラス javax.servlet.jsp.tagext.BodyTagSupport から継承されたメソッド |
---|
doInitBody, getBodyContent, getPreviousOut, release, setBodyContent |
クラス javax.servlet.jsp.tagext.TagSupport から継承されたメソッド |
---|
findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
インタフェース javax.servlet.jsp.tagext.Tag から継承されたメソッド |
---|
getParent, setPageContext, setParent |
コンストラクタの詳細 |
---|
public ViewCrossParamTag()
メソッドの詳細 |
---|
public void setBreakColumn(java.lang.String clm)
clm
- ブレークさせるカラム名CROSS集計で求めたフォーマットは、『ヘッダー1..N,縦,横,計1..N 』です。
ヘッダー部は、複数指定できますが、デフォルトではヘッダーNがキーブレイクすると 合計用のヘッダーが挿入されます。 このヘッダーNそのものが、集計フィールドでなく、単なる属性の場合は、 キーブレイクして欲しくない為、breakColumn="ヘッダーN-1" を指定します。 初期値は、"ヘッダーN" です。
public void setNoGroupColumns(java.lang.String clms)
clms
- グループ化(空白化)したくないカラム(カンマ区切り)CROSS集計で求めたフォーマットは、『ヘッダー1..N,縦,横,計1..N 』です。
ヘッダー部は、キーブレイクする都度、ヘッダーを出力します。それまでは、 各ヘッダーの値が、前段(同一カラムの先の値)と同じ場合は、空白にします。 こうする事で、値のグループ化が一目で判ります。(初期設定)
このヘッダーが、集計フィールドでなく、単なる属性の場合は、 空白ではなく、値として表示したい為、グループ化しない事を指定します。
public void setSumNumber(java.lang.String no)
no
- 合計値のカラム数(初期値1)CROSS集計で求めたフォーマットは、『ヘッダー1..N,縦,横,計1..N 』です。
合計は、複数並べることができますが、sumNumber で指定しておく必要があります。 初期値は、1 です。
public void setShokeiLabel(java.lang.String id)
id
- 列小計のカラムに表示するラベルID各列の小計のラベルIDを登録します。登録する文字列は、ラベルリソースに 定義しておいて下さい。 初期値は、空文字列("")です。
3.7.1.1 (2005/05/31) 初期値を "SHOKEI" に設定します。 |
public void setGokeiLabel(java.lang.String id)
id
- 列合計のカラムに表示するラベルID各列の合計のラベルIDを登録します。登録する文字列は、ラベルリソースに 定義しておいて下さい。 初期値は、空文字列("")です。
3.7.1.1 (2005/05/31) 初期値を "GOKEI" に設定します。 |
public void setCubeXColumn(java.lang.String cubeX)
cubeX
- 列合計のカラムに表示するラベルID列方向のキーとなるカラム名を指定します。 初期値は、互換性の関係より、sumNumber より逆計算します。
3.5.5.9 (2004/06/07) 新規追加 |
public void setCubeYColumn(java.lang.String cubeY)
cubeY
- 列合計のカラムに表示するラベルID行方向のキーとなるカラム名を指定します。 初期値は、互換性の関係より、sumNumber より逆計算します。
3.5.5.9 (2004/06/07) 新規追加 |
public void setCubeSortType(java.lang.String cubeSortType)
cubeSortType
- CUBE Y の列ヘッダーのソート方式[STRING,NUMBER,LOAD]CUBEのヘッダーに対応するカラム列をソート表示する場合の方式を指定します。 種類として、STRING,NUMBER,LOAD,があります。 初期値(指定無し)は、LOAD(取り込み順にセット)です。
3.5.6.3 (2004/07/12) 新規追加 |
public void setGokeiSortDir(java.lang.String gokeiSortDir)
gokeiSortDir
- 合計行のソート有無とその方向[true:正方向/false:逆方向/null:ソートしない]最も最後の合計カラムにソートを行うかどうか、その時の方向を指定します。 true/false 以外の文字列では、ソートを行いません。trueは、正方向(昇順)で、 falseが逆方向(降順)になります。 初期値(指定無し)は、ソートしない(null)です。
3.5.6.3 (2004/07/12) 新規追加 |
public void setFirstClmGokei(java.lang.String firstClmGokei)
firstClmGokei
- 合計列をCUBEの出力場所[true:先頭列に出力/false:最終列に出力]合計列を最終列に出力するか、CUBEの先頭列に出力するかを指定します。 trueが指定された場合はCUBEの先頭列に出力します。 初期値(false)は合計列を最終列に出力します。
5.0.0.3 (2009/09/22) 新規追加 |
public void setUseHeaderColumn(java.lang.String useHeaderColumn)
useHeaderColumn
- ヘッダーカラムにレンデラー、エディターを適用するかどうかヘッダーカラムにレンデラー、エディターを適用するかを指定します。 trueが指定された場合は、ヘッダー部分の値そのものをカラム名として扱います。 リソースが存在しない場合は、ラベルのみを各カラムの値で置き換えます。 初期値(指定無し)は、レンデラー、エディターを適用しない(false)です。
4.0.0.0 (2007/11/27) 新規追加 |
5.2.2.0 (2010/11/01) キーに、ViewCrossTableParam.USE_HEADER_COLUMN を使用するように修正 |
public void setUseClassAdd(java.lang.String useClassAdd)
useClassAdd
- 各列情報のclass属性に、カラム名などを付与するかどうか列情報の集計列に対して、class 属性を付与するかどうかを指定します。 class属性は、その列のオリジナルの属性名と、ラベル名の文字列を設定します。 例えば、集計行の計カラムが複数ある場合は、それぞれに色を指定して、ゼブラ模様を 設定できます。また、ラベル(表示ヘッダー)も設定されるので、特別な列のみ指定することも 可能になります。 ※ 特殊対応:cssなどで指定できるIDやCLASS属性は、先頭文字が数字の場合は、 無効になります。(つまり、効きません。) 表示ヘッダーは、年月や、社員番号(数字)などのケースもあります。そこで、先頭が数字の 場合は、"x"(小文字のx)を自動的に頭に追加します。この処理は、ViewForm_HTMLCrossTable で行います。
5.2.2.0 (2010/11/01) 新規追加 |
public void setSaveTableId(java.lang.String id)
id
- sessionに登録する時の ID検索のみの場合は、何も設定しません。EXCEL等外部にクロス集計の形で 取り出したい場合に、設定します。 "DEFAULT" という文字列を指定すると、内部では、HybsSystem.TBL_MDL_KEY が 設定されます。(DEFAULT という文字列に設定されるわけではありません。) なお、DEFAULT を使用する場合は、検索結果の DBTbleModel をつぶすことになります ので、NEXT 等は使えません。DBTableModel のデータを利用した forward 等も 使用できませんので、十分ご注意ください。 DEFAULT 以外の文字列の場合は、指定した文字列そのものがキーになります。 他のセッションキーと同じにすると動作が不安定になりますので、使用する場合は、 "CROSS_TABLE_SAVE_KEY" を推奨致します。 指定しない場合は、セッションにセーブされません。(検索されたまま) 通常、EXCEL出力等を行う場合は、DBTableModel をセーブする必要がありますが、 scope="session" にセーブすると、PREV,NEXT が使えなくなります。これは、 クロス集計時に元のカラムが表形式の別のカラムに置き換えられるためです。 scope="request" では、エラーは発生しなくなりますが、外部に取り出せなくなります。
5.2.2.0 (2010/11/01) キーに、ViewCrossTableParam.SAVE_TABLEID_KEY を使用するように修正 |
public void setSaveScope(java.lang.String scope)
scope
- scopeに登録する時の キーsetSaveTableId( String )
スコープは (request,page,session,applicaton) がありますが、request か session が 通常選択されます。 また、この設定が有効になるには、saveTableId を指定する必要があります。 saveTableId を指定しないと、そもそも書き出されないため、scope は無視されます。 scope="session" にセーブすると、PREV,NEXT が使えなくなります。これは、 クロス集計時に元のカラムが表形式の別のカラムに置き換えられるためです。 scope="request" では、エラーは発生しなくなりますが、外部に取り出せなくなります。 何も指定しない場合は、viewタグに指定されたオリジナルのスコープに書き出されます。 そうで無い場合は、指定のスコープに書き出されます。
5.2.2.0 (2010/11/01) 新規追加 |
public void setUseHeaderResource(java.lang.String useHeaderResource)
useHeaderResource
- ヘッダーのラベルにリソースを利用するかどうかHTMLCrossTableViewで、ヘッダーカラムの表示にラベルリソースを利用するかどうかを指定します。 trueが指定された場合は、ヘッダー部の値のラベルで表示します。 この属性はuseHeaderColumnをtrueにした場合に有効です。 又、headerCodeを指定した場合は無視されます。 初期値(指定無し)は、利用しない(false)です。
5.5.5.0 (2012/07/28) 新規追加 |
public void setHeaderCodeColumn(java.lang.String headerCode)
headerCode
- コードリソースのキーこの値を指定すると上部ヘッダーの表示を対象カラムのコードに対応するラベルで表示します。 カラムリソースがMENUや、DBMENUのようにSelectionを返す形である必要があります。 useHeaderColumnがtrueの場合のみ動作します。 この値が指定された場合は、useHeaderResourceは無視されます。 初期値はnullです。
5.5.5.0 (2012/07/28) 新規追加 |
protected java.lang.String getTagName()
CommonTagSupport
内の getTagName
CommonTagSupport.getDocumentLink()
4.0.0.0 (2005/01/31) 新規追加 |
|
openGion 5.7.3.0 | ||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |