パッケージ org.opengion.plugin.view

クラス ViewForm_HTMLCrossTable

  • すべての実装されたインタフェース:
    ViewForm

    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)
    導入されたバージョン:
    JDK5.0,
    • コンストラクタの詳細

    • メソッドの詳細

      • init

        public void init​(DBTableModel table)
        初期化します。 ここでは、内部で使用されているキャッシュをクリアし、 新しいモデル(DBTableModel)と言語(lang) を元に内部データを再構築します。 ただし、設定情報は、以前の状態がそのままキープされています。
        定義:
        init インタフェース内 ViewForm
        オーバーライド:
        init クラス内 AbstractViewForm
        パラメータ:
        table - DBTableModelオブジェクト
      • create

        public String create​(int startNo,
                             int pageSize)
        DBTableModel から HTML文字列を作成して返します。 startNo(表示開始位置)から、pageSize(表示件数)までのView文字列を作成します。 表示残りデータが pageSize 以下の場合は,残りのデータをすべて出力します。
        定義:
        create インタフェース内 ViewForm
        オーバーライド:
        create クラス内 ViewForm_HTMLTable
        パラメータ:
        startNo - 表示開始位置
        pageSize - 表示件数
        戻り値:
        DBTableModelから作成された HTML文字列
      • makeCheckbox

        protected String makeCheckbox​(String ckboxTD,
                                      int row,
                                      int blc)
        選択用のチェックボックスと行番号と変更タイプ(A,C,D)を表示します。
        オーバーライド:
        makeCheckbox クラス内 ViewForm_HTMLTable
        パラメータ:
        ckboxTD - チェックボックスのタグ(マルチカラム時のrowspan対応)
        row - 行番号
        blc - バックラインカウント(先頭へ戻るリンク間隔)
        戻り値:
        tdタグで囲まれたチェックボックスのHTML文字列
      • getHeadLine

        protected String getHeadLine()
        ヘッダー繰り返し部を、getTableHead()メソッドから分離。
        オーバーライド:
        getHeadLine クラス内 ViewForm_HTMLTable
        戻り値:
        テーブルのタグ文字列
      • setNoDisplay

        public void setNoDisplay​(String columnName)
        表示不可カラム名を、CSV形式で与えます。 例:"OYA,KO,HJO,SU,DYSET,DYUPD" null を与えた場合は,なにもしません。 注意:このクラスでは、DBTableModel を作り直すタイミングが、 create メソッド実行時です。(パラメータの初期化が必要な為) よって、このメソッドは、初期が終了後に、再セットします。
        定義:
        setNoDisplay インタフェース内 ViewForm
        オーバーライド:
        setNoDisplay クラス内 AbstractViewForm
        パラメータ:
        columnName - カラム名
      • setColumnDisplay

        public void setColumnDisplay​(String columnName)
        表示可能カラム名を、CSV形式で与えます。 例:"OYA,KO,HJO,SU,DYSET,DYUPD" setColumnDisplay( int column,boolean rw ) の簡易版です。 null を与えた場合は,なにもしません。 また、全カラムについて、有効にする場合は、columnName="*" を設定します。
        定義:
        setColumnDisplay インタフェース内 ViewForm
        オーバーライド:
        setColumnDisplay クラス内 AbstractViewForm
        パラメータ:
        columnName - カラム名
      • isEditable

        public boolean isEditable()
        表示項目の編集(並び替え)が可能かどうかを返します。
        定義:
        isEditable インタフェース内 ViewForm
        オーバーライド:
        isEditable クラス内 AbstractViewForm
        戻り値:
        表示項目の編集(並び替え)が可能かどうか(false:不可能)