パッケージ org.opengion.plugin.view
クラス ViewForm_HTMLCrossTable
java.lang.Object
org.opengion.hayabusa.html.AbstractViewForm
org.opengion.plugin.view.ViewForm_HTMLTable
org.opengion.plugin.view.ViewForm_HTMLCrossTable
- すべての実装されたインタフェース:
ViewForm
クロス集計テーブル作成クラスです。
select dept.dname,emp.deptno,substrb(job,1,2) as X,job,mgr,sum(sal),count(*)
from emp,dept
where emp.deptno = dept.deptno
group by dept.dname,emp.deptno,cube(job,mgr)
order by emp.deptno,job,mgr;
HEAD1 :ヘッダー。前段と同じデータは表示させない。
HEAD2 :キーブレイクさせるカラム。また、前段と同じデータは表示させない。
HEAD3 :キーブレイクさせないカラム。また、前段と同じデータでも表示させる。
ROW :行データのヘッダーになるカラム
COL :列データのヘッダーになるカラム。下記のSUM1,SUM2の両方のヘッダーになる。
SUM1 :列データの値になるカラム。
SUM2 :列データの値になるカラム。
SUMカラムの数、キーブレイクのカラム名、グループ化するカラム名を
指定することで、これらのクロス集計結果の表示方法を指定します。
breakColumn = "DEPTNO" キーブレイクのカラム名
noGroupColumns = "X" グループ化するカラム名
sumNumber = "2" SUMカラムの数
cubeXColumn = "JOB" CUBE計算の1つ目(X)カラムを指定
cubeYColumn = "MGR" CUBE計算の2つ目(Y)カラムを指定
cubeSortType = "NUMBER" CUBE Y の列ヘッダーのソート方法を指定
gokeiSortDir = "false" 合計カラムのソート方向を指定(初期値:ソートしない)
shokeiLabel = "SHOKEI" 列小計のカラムに表示するラベルID
gokeiLabel = "GOKEI" 列合計のカラムに表示するラベルID
useHeaderColumn= "false" ヘッダーカラムにレンデラー、エディターを適用するかを指定
useClassAdd = "false" 各列情報のclass属性に、カラム名などを付与するかどうかを指定
useHeaderResource = "false" ヘッダー表示にラベルリソースを利用するか
各カラムの属性(HEAD,SUM等)を認識する方法
HEAD1 HEAD2 HEAD3 ROW COL SUM1 SUM2 という並びを認識する方法は、
多数の前提条件を利用して、出来るだけ少ないパラメータで自動認識
させています。
若干理解しにくいかもしれませんが、慣れてください。
前提条件:
ROW,COL は、必ず1個ずつ存在する。
HEAD群、ROW,COL,SUM群 という並びになっている。
SUM群の数は、パラメータで指定する。
計算方法:
HEAD数=カラム数(7)-SUM数(2)-1(ROW,COL分) = 4 個 (0 ~ 3)
ROWアドレス=cubeXColumn 設定 (3) ※ アドレスは0から始まる為
COLアドレス=cubeYColumn 設定 (4)
SUMアドレス=HEAD数+1 ~ カラム数(7)-1 (5 ~ 6)
- 変更履歴:
- 3.5.4.0 (2003/11/25) 新規作成
- 機能分類
- 画面表示
- 導入されたバージョン:
- JDK5.0,
-
フィールドの概要
クラスから継承されたフィールド org.opengion.plugin.view.ViewForm_HTMLTable
headerLine
クラスから継承されたフィールド org.opengion.hayabusa.html.AbstractViewForm
BUFFER_LARGE, BUFFER_MIDDLE, CR, THEAD_TAG
インタフェースから継承されたフィールド org.opengion.hayabusa.html.ViewForm
DEFAULT_CLM_WRITABLE, DEFAULT_SKIP
-
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明void
clear()
内容をクリア(初期化)します。create
(int startNo, int pageSize) DBTableModel から HTML文字列を作成して返します。protected String
ヘッダー繰り返し部を、getTableHead()メソッドから分離。void
init
(DBTableModel table) 初期化します。boolean
表示項目の編集(並び替え)が可能かどうかを返します。protected String
makeCheckbox
(String ckboxTD, int row, int blc) 選択用のチェックボックスと行番号と変更タイプ(A,C,D)を表示します。void
setColumnDisplay
(String columnName) 表示可能カラム名を、CSV形式で与えます。void
setNoDisplay
(String columnName) 表示不可カラム名を、CSV形式で与えます。クラスから継承されたメソッド org.opengion.plugin.view.ViewForm_HTMLTable
canUseFormat, getColumnLabel, getHeader, getHeadLine, getTableFoot, getTableHead, getTableTag, makeCheckbox, makeNthChild, setPopupReturnKeys
クラスから継承されたメソッド org.opengion.hayabusa.html.AbstractViewForm
addFormatBody, create, create, getAllCheckControl, getBackLinkCount, getBgColorCycleClass, getBgColorCycleClass, getBoolParam, getClassName, getColumnCount, getColumnDbType, getColumnDisplayCount, getColumnName, getColumnNo, getColumnSize, getCountForm, getDBColumn, getDBTableModel, getEditorValue, getFormatHeadLine, getGamenId, getHeaderSkipCount, getHeight, getHiddenRowValue, getId, getIntParam, getLastNo, getName, getNumberData, getNumberHeader, getOptionTypeAttributes, getPageSize, getParam, getParam, getRendererValue, getRendererValue, getResourceManager, getRowCount, getScrollBarEndDiv, getScrollBarStartDiv, getSelectedType, getSortedColumnLabel, getStartNo, getTableClass, getTdClass, getTypeCaseValue, getValue, getValueLabel, getViewArrayList, getViewClass, getViewClms, getViewClms, getViewFormType, getWidth, insertClassName, insertClassName, isChecked, isClmBulkSet, isColumnDisplay, isColumnWritable, isFirstChecked, isMarked, isMustAnyColumn, isMustColumn, isNoTransition, isNumberDisplay, isSkip, isSkipNoEdit, isUseCheckControl, isWritable, makeTableSorterQuery, markerSet, setBackLinkCount, setBgColorClsClm, setBgColorCycle, setBooleanArray, setColumnBulkSet, setColumnDisplay, setColumnGroup, setColumnWritable, setColumnWritable, setDBColumn, setEditMarker, setFormatNoDisplay, setFormatterList, setGamenId, setGroupClass, setGroupDir, setHeaderSkipCount, setHeight, setId, setName, setNoGroup, setNoGroupClass, setNoMessage, setNoTransition, setNoWritable, setNumberType, setOptionTypeAttributes, setPageSize, setParam, setResourceManager, setScrollRowNo, setSelectedType, setSkip, setSkipNoEdit, setStartNo, setTableClass, setTableSorterKeys, setTdClass, setUseCheckControl, setUseScrollBar, setUseTableSorter, setViewArrayList, setViewClass, setViewLink, setViewMarker, setWidth, setWritableControl
-
コンストラクタの詳細
-
ViewForm_HTMLCrossTable
public ViewForm_HTMLCrossTable()デフォルトコンストラクター- 変更履歴:
- 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
-
-
メソッドの詳細
-
init
初期化します。 ここでは、内部で使用されているキャッシュをクリアし、 新しいモデル(DBTableModel)と言語(lang) を元に内部データを再構築します。 ただし、設定情報は、以前の状態がそのままキープされています。- 定義:
init
インタフェース内ViewForm
- オーバーライド:
init
クラス内AbstractViewForm
- パラメータ:
table
- DBTableModelオブジェクト- 変更履歴:
- 3.5.4.8 (2004/02/23) paramInit メソッドで、初期化を行います。, 3.5.6.1 (2004/06/25) lang 言語コード 属性を削除します。, 6.0.2.2 (2014/10/03) 初期化漏れでエラーになっていたので、修正します。
-
clear
内容をクリア(初期化)します。- 定義:
clear
インタフェース内ViewForm
- オーバーライド:
clear
クラス内ViewForm_HTMLTable
- 変更履歴:
- 3.5.6.3 (2004/07/12) cubeSortType , gokeiSortDir 属性を追加します。, 3.7.0.4 (2005/03/18) noDisplayKeys 属性を追加します。, 3.7.1.1 (2005/05/31) shokeiLabel,gokeiLabel の初期値変更, 5.2.2.0 (2010/11/01) columnDisplayKeys、clsAdd、useClassAdd 属性を追加します, 5.5.5.0 (2012/07/20) useHeaderResource追加
-
create
DBTableModel から HTML文字列を作成して返します。 startNo(表示開始位置)から、pageSize(表示件数)までのView文字列を作成します。 表示残りデータが pageSize 以下の場合は、残りのデータをすべて出力します。- 定義:
create
インタフェース内ViewForm
- オーバーライド:
create
クラス内ViewForm_HTMLTable
- パラメータ:
startNo
- 表示開始位置pageSize
- 表示件数- 戻り値:
- DBTableModelから作成された HTML文字列
- 変更履歴:
- 3.5.5.0 (2004/03/12) No 欄そのものの作成判断ロジックを追加, 3.5.6.1 (2004/06/25) lang 言語コード 属性を削除します。, 3.5.6.4 (2004/07/16) ヘッダーとボディー部をJavaScriptで分離, 3.7.0.4 (2005/03/18) setNoDisplay メソッドを追加, 4.3.1.0 (2008/09/08) 編集行のみを表示する属性(isSkipNoEdit)追加, 5.0.0.3 (2009/09/22) 合計列をcubeの先頭に出せるようにする, 5.1.0.0 (2009/11/04) ↑で合計列が複数カラム存在する場合に正しく表示されないバグを修正, 5.2.2.0 (2010/11/01) setColumnDisplay メソッドを追加, 6.8.1.1 (2017/07/22) ckboxTD変数は、<td> から <td に変更します(タグの最後が記述されていない状態でもらう)。
- このメソッドは、nullを返しません
-
makeCheckbox
選択用のチェックボックスと行番号と変更タイプ(A,C,D)を表示します。- オーバーライド:
makeCheckbox
クラス内ViewForm_HTMLTable
- パラメータ:
ckboxTD
- チェックボックスのタグ(マルチカラム時のrowspan対応)row
- 行番号blc
- バックラインカウント(先頭へ戻るリンク間隔)- 戻り値:
- tdタグで囲まれたチェックボックスのHTML文字列
- 変更履歴:
- 6.8.1.1 (2017/07/22) ckboxTD変数は、<td> から <td に変更します(タグの最後が記述されていない状態でもらう)。
- このメソッドは、nullを返しません
-
getHeadLine
ヘッダー繰り返し部を、getTableHead()メソッドから分離。- オーバーライド:
getHeadLine
クラス内ViewForm_HTMLTable
- 戻り値:
- テーブルのタグ文字列
- 変更履歴:
- 3.5.4.5 (2004/01/23) 実装をgetHeadLine( String thTag )に移動, 3.5.5.0 (2004/03/12) No 欄そのものの作成判断ロジックを追加, 5.0.0.3 (2009/09/17) 合計行を出力する位置をfirstClmGokeiで変える, 5.2.2.0 (2010/11/01) 集計部の ColumnDisplay/NoDisplay 対応, 5.5.5.0 (2012/07/28) useHeaderResource利用時のヘッダのラベル/コードリソース対応, 5.7.4.2 (2014/03/20) ヘッダーのリソース適用見直し, 5.7.4.3 (2014/03/28) useHeaderResource 単独でリソース適用します。, 6.0.4.0 (2014/11/28) selection は、Column から取得するのではなく、Factory で作成する。, 7.0.1.5 (2018/12/10) headerCodeColumn 廃止, 7.0.1.7 (2019/01/21) ヘッダー作成時にオリジナルのカラムを使うので、インスタンス変数化します。, 8.5.6.1 (2024/03/29) thead に、固定の id と class 属性を共通に定義します。
- このメソッドは、nullを返しません
-
setNoDisplay
表示不可カラム名を、CSV形式で与えます。 例:"OYA,KO,HJO,SU,DYSET,DYUPD" null を与えた場合は、なにもしません。 注意:このクラスでは、DBTableModel を作り直すタイミングが、 create メソッド実行時です。(パラメータの初期化が必要な為) よって、このメソッドは、初期が終了後に、再セットします。- 定義:
setNoDisplay
インタフェース内ViewForm
- オーバーライド:
setNoDisplay
クラス内AbstractViewForm
- パラメータ:
columnName
- カラム名- 変更履歴:
- 3.7.0.4 (2005/03/18) 新規作成
-
setColumnDisplay
表示可能カラム名を、CSV形式で与えます。 例:"OYA,KO,HJO,SU,DYSET,DYUPD" setColumnDisplay( int column,boolean rw ) の簡易版です。 null を与えた場合は、なにもしません。 また、全カラムについて、有効にする場合は、columnName="*" を設定します。- 定義:
setColumnDisplay
インタフェース内ViewForm
- オーバーライド:
setColumnDisplay
クラス内AbstractViewForm
- パラメータ:
columnName
- カラム名- 変更履歴:
- 5.2.2.0 (2010/11/01) 新規追加
-
isEditable
表示項目の編集(並び替え)が可能かどうかを返します。- 定義:
isEditable
インタフェース内ViewForm
- オーバーライド:
isEditable
クラス内AbstractViewForm
- 戻り値:
- 表示項目の編集(並び替え)が可能かどうか(false:不可能)
- 変更履歴:
- 5.1.6.0 (2010/05/01) 新規追加
-