パッケージ 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,
  • コンストラクタの詳細

    • 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 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 String makeCheckbox(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 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 で作成する。, 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

      public void setNoDisplay(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(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) 新規追加