パッケージ org.opengion.hayabusa.taglib

# クラス ViewIGanttTag

java.lang.Object
jakarta.servlet.jsp.tagext.TagSupport
jakarta.servlet.jsp.tagext.BodyTagSupport
org.opengion.hayabusa.taglib.CommonTagSupport
org.opengion.hayabusa.taglib.ViewIGanttTag

すべての実装されたインタフェース:
  `BodyTag`, `IterationTag`, `JspTag`, `Tag`, `TryCatchFinally`, `Serializable`

public class ViewIGanttTag extends CommonTagSupport
ガントチャートを表示するに当たり、ガント全体（ページ全体一つ設定）の指定を行います。 iGantt タグは、ガントチャート全体に一つ指定する事で、最大行数、固定カラム数、 番号列の出力有無を指定するのに使用されます。 通常は、単独で使用するのではなく、iGanttBar タグと組み合わせて使用します。 通常の view タグの後に記述します。 ガントには、通常のガントと積上ガント、内部積上ガントがあります。 通常ガントは、通常の view をガント化します。 積上ガントは、ViewにHTMLstackedGanttTableを指定する必要があります。 この方式の利点は、積上と通常のガントバーを混在できることです。例えば、物件予定をガントバーで、表示し、 個人の予定工数を積上るなどの表示が可能です。ただし、件数が多いと、処理に時間がかかります。 内部積上ガントは、エンジン内部で積上計算しますので、処理は早いのですが、ガントバーとの 混在ができません。これらは、うまく使い分けを行う必要があります。

関連項目:
  - 直列化された形式
変更履歴:
  5.6.3.2 (2013/04/12) 新規作成
機能分類
  画面部品
形式ｻﾝﾌﾟﾙ:
  ●形式：<og:iGantt ... /> ●body：なし ●前提：headタグで、adjustEvent="Gantt" を指定してください。 ●Tag定義： <og:iGantt margeRows 【TAG】前後の行データが一致している場合、マージするかどうか[true/false]指定します(初期値:false) fixedCols 【TAG】左の固定列の列数（テーブル２分割機能）を指定します viewNumberType 【TAG】viewタグの出力に番号列が出力されているかかどうか（出力されていない場合:deleteを指定） verticalShift 【TAG】ガントの上下ずらし表示を行うかどうか[true/false]指定します(初期値=true:行う) paddingLeft 【TAG】ガントバーの間の左区切りスペースを指定します(初期値=null) paddingRigth 【TAG】ガントバーの間の右区切りスペースを指定します(初期値=null) useBgColor 【TAG】一覧の背景色の縞々模様を再作成するか[true/false]指定します（margeRows='true'の場合は使用する） viewGantt 【TAG】積上ガント:ガント部分の表示を行うかどうか[true/false]指定します(初期値=true:表示する) stackHoliday 【TAG】積上ガント:休日に積上げるかどうか[true/false]指定します（zoom=DAYの場合のみ有効。初期値=true:積上げる) viewMode 【TAG】積上ガント:1:行の最大値を基準に積上げ高さの計算を行う/0:能力設定値を基準に積上げ高さの計算を行う。 stdUpper 【TAG】積上ガント:正常範囲の上限となる工数です。これを超えると積上げの色が変化します(初期値:1) stdCost 【TAG】積上ガント:この工数が行の2/3の高さとなります(初期値:1) stdLower 【TAG】積上ガント:正常範囲の下限となる工数です。これを下回ると積上げの色が変化します(初期値:0) debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) /> ●使用例 (通常ガント) <og:view viewFormType = "HTMLCustomTable" command = "{@command}" writable = "false" useScrollBar = "false" > <og:thead rowspan="2"> <tr> <td>[NOORDER]</td> <td rowspan="2" class="gantt zoom{@VZOOM}" style="line-height:normal;text-align:left;background-image: url('../image/ganttBG{@VZOOM}.gif');" > <div style="position:relative;left:0px;z-index:101; " height="100%" width="100%" > <og:ganttHeader startDate = "{@startDate}" endDate = "{@endDate}" zoom = "{@VZOOM}" daySpan = "{@daySpan}" /> </div> </td> </tr> </og:thead> <og:tbody rowspan="2"> <tr> <td>[NOORDER]</td> <td rowspan="2" class="gantt zoom{@VZOOM}" style="text-align:left;background-image: url('../image/ganttBG{@VZOOM}.gif');" > <og:iGanttBar type="1" colorNo="[COLOR]" start="[DYORDER]" end="[DYNOKI]" text="[PN]" /> <og:iGanttBar type="0" src="../image/dia_blue.gif" start="[DYORDER]" text="開始" /> <og:iGanttBar type="0" src="../image/dia_red.gif" end="[DYNOKI]" text="終了" /> </td> </tr> </og:tbody> </og:view> <og:iGantt margeRows = "true" fixedCols = "1" /> (積上ガント) 積上ガントを利用する場合は、ViewにHTMLstackedGanttTableを利用する必要があります。 <og:view viewFormType = "HTMLStackedGanttTable" command = "{@command}" writable = "false" useScrollBar = "false" useParam = "true" numberType = "none" > <og:stackParam stackColumns = "NOORDER" /> <og:thead rowspan="2"> <tr> <td>[NOORDER]</td> <td>[PN]</td> <td rowspan="2" class="gantt zoom{@SZOOM}" style="text-align:left;background-image: url('../image/ganttBG{@SZOOM}.gif');" > <div style="position:relative;left:0px;z-index:101; " height="100%" width="100%" > <og:ganttHeader startDate = "{@startDate}" endDate = "{@endDate}" zoom = "{@SZOOM}" calDB = "GE13" arg1 = "A" /> </div> </td> </tr> </og:thead> <og:tbody rowspan="2"> <tr> <td>[NOORDER]</td> <td>[PN]</td> <td rowspan="2" class="gantt zoom{@VZOOM}" style="text-align:left;background-image: url('../image/ganttBG{@VZOOM}.gif');" > <og:iGanttBar type="1" colorNo="[COLOR]" start="[DYORDER]" end="[DYNOKI]" text="[COSTCLM]" cost="[COSTCLM]" capacity="[CAPACITY]" /> <og:iGanttBar type="0" src="../image/dia_blue.gif" start="[DYORDER]" text="開始" /> </td> </tr> </og:tbody> </og:view> <og:iGantt margeRows = "true" fixedCols = "1" verticalShift = "false" viewGantt = "{@viewGantt}" stackHoliday = "{@stackHoliday}" useBgColor = "true" viewMode = "2" />
導入されたバージョン:
  JDK6.0,

- ## フィールドの概要

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

  `BR, BUFFER_MIDDLE, CR`

  ### クラスから継承されたフィールド jakarta.servlet.jsp.tagext.BodyTagSupport

  `bodyContent`

  ### クラスから継承されたフィールド jakarta.servlet.jsp.tagext.TagSupport

  `id, pageContext`

  ### インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.BodyTag

  `EVAL_BODY_BUFFERED, EVAL_BODY_TAG`

  ### インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.IterationTag

  `EVAL_BODY_AGAIN`

  ### インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.Tag

  `EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE`

- ## コンストラクタの概要

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

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `int`
  `doEndTag()`
  Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
  `protected String`
  `getTagName()`
  タグの名称を、返します。
  `protected void`
  `release2()`
  タグリブオブジェクトをリリースします。
  `void`
  `setFixedCols(String fixedCols)`
  【TAG】左の固定列の列数（テーブル２分割機能）を指定します。
  `void`
  `setMargeRows(String margeRows)`
  【TAG】前後の行データが一致している場合、マージするかどうか[true/false]指定します(初期値:false)。
  `void`
  `setPaddingLeft(String paddingLeft)`
  【TAG】ガントバーの間の左区切りスペースをピクセルで指定します(初期値:null)。
  `void`
  `setPaddingRigth(String paddingRigth)`
  【TAG】ガントバーの間の右区切りスペースをピクセルで指定します(初期値:null)。
  `void`
  `setStackHoliday(String stackHoliday)`
  【TAG】積上ガント:休日に積上げるかどうか[true/false]指定します(初期値=true:積上げる)。
  `void`
  `setStdCost(String stdCost)`
  【TAG】積上ガント:行の2/3の高さとなる工数を指定します(初期値:1)。
  `void`
  `setStdLower(String stdLower)`
  【TAG】積上ガント:正常範囲の下限となる工数を指定します(初期値:0)。
  `void`
  `setStdUpper(String stdUpper)`
  【TAG】積上ガント:正常範囲の上限となる工数を指定します(初期値:1)。
  `void`
  `setUseBgColor(String useBgColor)`
  【TAG】一覧の背景色の縞々模様を再作成するか[true/false]指定します(初期値:true)。
  `void`
  `setVerticalShift(String verticalShift)`
  【TAG】ガントの上下ずらし表示を行うかどうか[true/false]指定します(初期値=true:行う)。
  `void`
  `setViewGantt(String viewGantt)`
  【TAG】積上ガント:ガント部分の表示を行うかどうか[true/false]指定します(初期値=true:表示する)。
  `void`
  `setViewMode(String viewMode)`
  【TAG】積上ガント:積上げ高さの計算方法[0:設定値基準/1:最大値基準]指定します(初期値:1:最大値基準)。
  `void`
  `setViewNumberType(String viewNumberType)`
  【TAG】viewタグの出力に番号列が出力されているかどうか（出力されていない場合:delete）を指定します。
  `String`
  `toString()`
  このオブジェクトの文字列表現を返します。

  ### クラスから継承されたメソッド org.opengion.hayabusa.taglib.CommonTagSupport

  `add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, debugPrint, doAfterBody, doCatch, doFinally, doStartTag, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getCSVParameter, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLongLabel, getMsg, getMsglbl, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getTransaction, getUser, getUserEditInfo, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, makeUrl, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, setCaseIf, setCaseKey, setCaseNN, setCaseNull, setCaseVal, setContextAttribute, setCookie, setDebug, setLanguage, setLbl, setNoTransitionRequest, setObject, setObject, setParameterNames, setParameterRows, setRequestAttribute, setRequestCacheData, setScope, setSessionAttribute, setUserInfo, startQueryTransaction, sys, sysBool, sysInt, useMainTrans, useQuotCheck, useTag, useXssCheck`

  ### クラスから継承されたメソッド jakarta.servlet.jsp.tagext.BodyTagSupport

  `doInitBody, getBodyContent, getPreviousOut, release, setBodyContent`

  ### クラスから継承されたメソッド jakarta.servlet.jsp.tagext.TagSupport

  `findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue`

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

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

  ### インタフェースから継承されたメソッド jakarta.servlet.jsp.tagext.Tag

  `getParent, setPageContext, setParent`

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

  - ### ViewIGanttTag

    public ViewIGanttTag()
    デフォルトコンストラクター
    変更履歴:
      6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.

- ## メソッドの詳細

  - ### doEndTag

    public int doEndTag()
    Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
    定義:
      `doEndTag` インタフェース内 `Tag`
    オーバーライド:
      `doEndTag` クラス内 `CommonTagSupport`
    戻り値:
      後続処理の指示
    変更履歴:
      6.0.2.5 (2014/10/31) HTML5対応。javaScriptで、BODYがないと入れ子になってしまう。

  - ### release2

    protected void release2()
    タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。
    オーバーライド:
      `release2` クラス内 `CommonTagSupport`

  - ### setMargeRows

    public void setMargeRows(String margeRows)
    【TAG】前後の行データが一致している場合、マージするかどうか[true/false]指定します(初期値:false)。
    パラメータ:
      `margeRows` - 複数行のマージ可否 [true:する/false:しない]
    関連項目:
      - `setVerticalShift(String)`
    説明:
      これは、ガントデータが同一グループの場合に、ガントとして一連に表示するようにします。 この段階では、階段並べのままです。 前後に付ける場合（一列表示）は、verticalShift = "true" を指定してください。 (adjustGanttTable.jsの)初期値は、false:行わない です。

  - ### setFixedCols

    public void setFixedCols(String fixedCols)
    【TAG】左の固定列の列数（テーブル２分割機能）を指定します。
    パラメータ:
      `fixedCols` - 固定したいカラム数
    説明:
      １段組でも２段組でも、固定したいカラム数を指定します。

  - ### setViewNumberType

    public void setViewNumberType(String viewNumberType)
    【TAG】viewタグの出力に番号列が出力されているかどうか（出力されていない場合:delete）を指定します。
    パラメータ:
      `viewNumberType` - viewタグ番号列タイプ
    説明:
      viewタグで、numberType属性で、行番号を表示しない設定を行った場合、ここでも、viewNumberType="delete" を 指定する必要があります。

  - ### setVerticalShift

    public void setVerticalShift(String verticalShift)
    【TAG】ガントの上下ずらし表示を行うかどうか[true/false]指定します(初期値=true:行う)。
    パラメータ:
      `verticalShift` - 上下ずらし表示 [true:する/false:しない]
    説明:
      通常のガント表示では、データは階段並べで表示されます。 同一属性のガントを横一列に表示したい場合は、この属性に、"true" を指定します。 (adjustGanttTable.jsの)初期値は、true:行う です。

  - ### setPaddingLeft

    public void setPaddingLeft(String paddingLeft)
    【TAG】ガントバーの間の左区切りスペースをピクセルで指定します(初期値:null)。
    パラメータ:
      `paddingLeft` - 左区切りスペース
    関連項目:
      - `setPaddingRigth(String)`
    変更履歴:
      5.6.4.2 (2013/05/17) 新規追加
    説明:
      ガント表示で、margeRows="true" (複数行のマージを行う)場合、前後のガントが同一色の 場合、くっついて表示されます。これを、verticalShift="true" (ガントの上下ずらし表示を行う) 場合は、個々のバーが判別可能ですが、そうしたくないケースでは、個々の判別ができません。 そこで、特殊なケースとして、個々の判別が付く様に、ガントバーの長さを調整したいケースが あります。 この属性は、バーの左に指定の空欄を用意します。 初期値は、null(属性を出力しない) です。

  - ### setPaddingRigth

    public void setPaddingRigth(String paddingRigth)
    【TAG】ガントバーの間の右区切りスペースをピクセルで指定します(初期値:null)。
    パラメータ:
      `paddingRigth` - 左区切りスペース
    関連項目:
      - `setPaddingLeft(String)`
    変更履歴:
      5.6.4.2 (2013/05/17) 新規追加
    説明:
      ガント表示で、margeRows="true" (複数行のマージを行う)場合、前後のガントが同一色の 場合、くっついて表示されます。これを、verticalShift="true" (ガントの上下ずらし表示を行う) 場合は、個々のバーが判別可能ですが、そうしたくないケースでは、個々の判別ができません。 そこで、特殊なケースとして、個々の判別が付く様に、ガントバーの長さを調整したいケースが あります。 この属性は、バーの右に指定の空欄を用意します。 初期値は、null(属性を出力しない) です。

  - ### setViewGantt

    public void setViewGantt(String viewGantt)
    【TAG】積上ガント:ガント部分の表示を行うかどうか[true/false]指定します(初期値=true:表示する)。
    パラメータ:
      `viewGantt` - ガント部分の表示可否 [true:する/false:しない]
    説明:
      falseとするとガント部分を表示せず、積上げのみ表示します。 (adjustGanttTable.jsの)初期値は、true:表示する。

  - ### setStackHoliday

    public void setStackHoliday(String stackHoliday)
    【TAG】積上ガント:休日に積上げるかどうか[true/false]指定します(初期値=true:積上げる)。
    パラメータ:
      `stackHoliday` - 休日に積上可否 [true:する/false:しない]
    説明:
      休日に積上る場合、平日、休日を合わせた日数で、工数の平準化が行われます。 false:積上ない を指定した場合、平日のみで工数が加算されます。 積上は、日付関係の場合(zoom=DAY)のみ有効で、時間単位の積上機能はありません。 (adjustGanttTable.jsの)初期値は、true:積上げる。

  - ### setUseBgColor

    public void setUseBgColor(String useBgColor)
    【TAG】一覧の背景色の縞々模様を再作成するか[true/false]指定します(初期値:true)。
    パラメータ:
      `useBgColor` - 背景色ゼブラ可否 [true:する/false:しない]
    関連項目:
      - `setMargeRows(String)`
    説明:
      背景色の縞々模様(ゼブラ模様)を作成する場合は、"true" にセットします。 margeRows='true'の場合は使用します。 (adjustGanttTable.jsの)初期値は、true:再作成する。

  - ### setViewMode

    public void setViewMode(String viewMode)
    【TAG】積上ガント:積上げ高さの計算方法[0:設定値基準/1:最大値基準]指定します(初期値:1:最大値基準)。
    パラメータ:
      `viewMode` - 積上げ高さの計算方法 [0:設定値基準/1:最大値基準]
    説明:
      積上ガントの大きさを、設定値を基準にするか、最大値を基準にするか指定します。 1:最大値基準は、高さ固定と考えられます。つまり、積上ガントの最大が1.0の場合、 設定値が、0.1 なら、0.1 分の値としてつみあがります。１００分率での表示に適しています。 0:設定値基準は、高さ可変です。つまり、積上ガントの設定値の最大が 0.2 の場合、 0.1 なら、半分の所まで積みあがります。値に最大値がなく、各積上結果の相対レベルが 見たい場合に、適しています。 0:能力設定値を基準に積上げ高さの計算を行う。 1:行の最大値を基準に積上げ高さの計算を行う。 (adjustGanttTable.jsの)初期値は、1:最大値基準 です。

  - ### setStdUpper

    public void setStdUpper(String stdUpper)
    【TAG】積上ガント:正常範囲の上限となる工数を指定します(初期値:1)。
    パラメータ:
      `stdUpper` - 正常範囲の上限工数
    関連項目:
      - `setStdCost(String)`
    説明:
      正常範囲の上限となる工数を超えると積上げの色が変化します。 (adjustGanttTable.jsの)初期値は、1 です。

  - ### setStdCost

    public void setStdCost(String stdCost)
    【TAG】積上ガント:行の2/3の高さとなる工数を指定します(初期値:1)。
    パラメータ:
      `stdCost` - 正常範囲の上限
    関連項目:
      - `setStdUpper(String)`
    説明:
      正常範囲の上限を初期値の "1" に設定し、この値を初期値の "1" を使うと、 "1" の高さは、行の2/3の高さになるように計算されます。つまり、オーバー分は、 全体の 1/3 以下の場合に、ちょうど良い感じになります。 オーバーする量との関係で指定します。 (adjustGanttTable.jsの)初期値は、1 です。

  - ### setStdLower

    public void setStdLower(String stdLower)
    【TAG】積上ガント:正常範囲の下限となる工数を指定します(初期値:0)。
    パラメータ:
      `stdLower` - 正常範囲の下限工数
    説明:
      正常範囲の下限となる工数を下回ると積上げの色が変化します。 (adjustGanttTable.jsの)初期値は、0 です。

  - ### getTagName

    protected String getTagName()
    タグの名称を、返します。 自分自身のクラス名より、自動的に取り出せないため、このメソッドをオーバーライドします。
    オーバーライド:
      `getTagName` クラス内 `CommonTagSupport`
    戻り値:
      タグの名称
    関連項目:
      - `CommonTagSupport.getDocumentLink()`
    このﾒｿｯﾄﾞは、nullを返しません

  - ### toString

    public String toString()
    このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。
    オーバーライド:
      `toString` クラス内 `CommonTagSupport`
    戻り値:
      このクラスの文字列表現
    このﾒｿｯﾄﾞは、nullを返しません