public class ViewForm_HTMLCrossTable extends ViewForm_HTMLTable
クロス集計テーブル作成クラスです。
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) 新規作成 |
headerLine, NUMBER_DISPLAY, useIE7HeaderBUFFER_LARGE, BUFFER_MIDDLE, CRDEFAULT_CLM_WRITABLE, DEFAULT_SKIP| コンストラクタと説明 |
|---|
ViewForm_HTMLCrossTable()
デフォルトコンストラクター
|
| 修飾子とタイプ | メソッドと説明 |
|---|---|
void |
clear()
内容をクリア(初期化)します。
|
java.lang.String |
create(int startNo,
int pageSize)
DBTableModel から HTML文字列を作成して返します。
|
protected java.lang.String |
getHeadLine()
ヘッダー繰り返し部を、getTableHead()メソッドから分離。
|
void |
init(DBTableModel table)
初期化します。
|
boolean |
isEditable()
表示項目の編集(並び替え)が可能かどうかを返します。
|
protected java.lang.String |
makeCheckbox(java.lang.String ckboxTD,
int row,
int blc)
選択用のチェックボックスと行番号と変更タイプ(A,C,D)を表示します。
|
void |
setColumnDisplay(java.lang.String columnName)
表示可能カラム名を、CSV形式で与えます。
|
void |
setNoDisplay(java.lang.String columnName)
表示不可カラム名を、CSV形式で与えます。
|
canUseFormat, getColumnLabel, getHeader, getHeadLine, getTableFoot, getTableHead, getTableTag, makeCheckbox, makeNthChild, setPopupReturnKeyscreate, create, getAllCheckControl, getBackLinkCount, getBgColorCycleClass, getBgColorCycleClass, getBoolParam, getClassName, getColumnCount, getColumnDbType, getColumnDisplayCount, getColumnName, getColumnNo, getColumnSize, getCountForm, getDBColumn, getDBTableModel, getEditorValue, getGamenId, getHeaderSkipCount, getHiddenRowValue, getId, getIntParam, getLastNo, getName, getNumberData, getNumberHeader, getOptionTypeAttributes, getPageSize, getParam, getParam, getRendererValue, getRendererValue, getResourceManager, getRowCount, getScrollBarEndDiv, getScrollBarStartDiv, getSelectedType, getSortedColumnLabel, getStartNo, getTableClass, getTypeCaseValue, getValue, getValueLabel, getViewArrayList, getViewClass, getViewClms, getViewClms, getViewFormType, 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, setNoMessage, setNoTransition, setNoWritable, setNumberType, setOptionTypeAttributes, setPageSize, setParam, setResourceManager, setScrollRowNo, setSelectedType, setSkip, setSkipNoEdit, setStartNo, setTableClass, setTableSorterKeys, setUseCheckControl, setUseScrollBar, setUseTableSorter, setViewArrayList, setViewClass, setViewLink, setViewMarker, setWidth, setWritableControlpublic ViewForm_HTMLCrossTable()
| 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor. |
public void init(DBTableModel table)
init インタフェース内 ViewForminit クラス内 AbstractViewFormtable - DBTableModelオブジェクト| 3.5.4.8 (2004/02/23) paramInit メソッドで、初期化を行います。 |
| 3.5.6.1 (2004/06/25) lang 言語コード 属性を削除します。 |
| 6.0.2.2 (2014/10/03) 初期化漏れでエラーになっていたので、修正します。 |
public void clear()
clear インタフェース内 ViewFormclear クラス内 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追加 |
public java.lang.String create(int startNo,
int pageSize)
create インタフェース内 ViewFormcreate クラス内 ViewForm_HTMLTablestartNo - 表示開始位置pageSize - 表示件数| 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 に変更します(タグの最後が記述されていない状態でもらう)。 |
protected java.lang.String makeCheckbox(java.lang.String ckboxTD,
int row,
int blc)
makeCheckbox クラス内 ViewForm_HTMLTableckboxTD - チェックボックスのタグ(マルチカラム時のrowspan対応)row - 行番号blc - バックラインカウント(先頭へ戻るリンク間隔)| 6.8.1.1 (2017/07/22) ckboxTD変数は、<td> から <td に変更します(タグの最後が記述されていない状態でもらう)。 |
protected java.lang.String getHeadLine()
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 で作成する。 |
public void setNoDisplay(java.lang.String columnName)
setNoDisplay インタフェース内 ViewFormsetNoDisplay クラス内 AbstractViewFormcolumnName - カラム名| 3.7.0.4 (2005/03/18) 新規作成 |
public void setColumnDisplay(java.lang.String columnName)
setColumnDisplay インタフェース内 ViewFormsetColumnDisplay クラス内 AbstractViewFormcolumnName - カラム名| 5.2.2.0 (2010/11/01) 新規追加 |
public boolean isEditable()
isEditable インタフェース内 ViewFormisEditable クラス内 AbstractViewForm| 5.1.6.0 (2010/05/01) 新規追加 |
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.