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

      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計算の１つ目(X)カラムを指定
         cubeYColumn    = "MGR"                CUBE計算の２つ目(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 は、必ず１個ずつ存在する。
             HEAD群、ROW,COL,SUM群 という並びになっている。
             SUM群の数は、パラメータで指定する。
           計算方法：
             HEAD数=カラム数(7)-SUM数(2)-1(ROW,COL分) ＝ ４ 個 (0 ～ 3)
             ROWアドレス＝cubeXColumn 設定                       (3)      ※ アドレスは０から始まる為
             COLアドレス＝cubeYColumn 設定                       (4)
             SUMアドレス＝HEAD数＋１ ～ カラム数(7)-1            (5 ～ 6)

  変更履歴:

    3.5.4.0 (2003/11/25) 新規作成

  機能分類
    画面表示
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

- - ### フィールドのサマリー

    - ### クラスから継承されたフィールド org.opengion.plugin.view.ViewForm_HTMLTable

      `headerLine, NUMBER_DISPLAY, useIE7Header`

    - ### クラスから継承されたフィールド org.opengion.hayabusa.html.AbstractViewForm

      `BUFFER_LARGE, BUFFER_MIDDLE, CR`

    - ### インタフェースから継承されたフィールド org.opengion.hayabusa.html.ViewForm

      `DEFAULT_CLM_WRITABLE, DEFAULT_SKIP`

  - ### コンストラクタのサマリー

    コンストラクタ
    コンストラクタと説明
    `ViewForm_HTMLCrossTable()` デフォルトコンストラクター

  - ### メソッドのサマリー

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `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形式で与えます。

    - ### クラスから継承されたメソッド org.opengion.plugin.view.ViewForm_HTMLTable

      `canUseFormat, getColumnLabel, getHeader, getHeadLine, getTableFoot, getTableHead, getTableTag, makeCheckbox, makeNthChild, setPopupReturnKeys`

    - ### クラスから継承されたメソッド org.opengion.hayabusa.html.AbstractViewForm

      `create, 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, 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, setWritableControl`

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### コンストラクタの詳細

    - #### ViewForm_HTMLCrossTable

          public ViewForm_HTMLCrossTable()

      デフォルトコンストラクター
      変更履歴:

        6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.

  - ### メソッドの詳細

    - #### init

          public void init(DBTableModel table)

      初期化します。 ここでは、内部で使用されているキャッシュをクリアし、 新しいモデル(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

          public void 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

          public java.lang.String create(int startNo,
                                         int pageSize)

      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

          protected java.lang.String makeCheckbox(java.lang.String ckboxTD,
                                                  int row,
                                                  int blc)

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

        6.8.1.1 (2017/07/22) ckboxTD変数は、<td> から <td に変更します(タグの最後が記述されていない状態でもらう)。

      このメソッドは、nullを返しません

    - #### getHeadLine

          protected java.lang.String 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 で作成する。

      このメソッドは、nullを返しません

    - #### setNoDisplay

          public void setNoDisplay(java.lang.String columnName)

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

        3.7.0.4 (2005/03/18) 新規作成

    - #### setColumnDisplay

          public void setColumnDisplay(java.lang.String columnName)

      表示可能カラム名を、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

          public boolean isEditable()

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

        5.1.6.0 (2010/05/01) 新規追加

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.