001 /*
002 * Copyright (c) 2009 The openGion Project.
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
013 * either express or implied. See the License for the specific language
014 * governing permissions and limitations under the License.
015 */
016 package org.opengion.hayabusa.taglib;
017
018 import static org.opengion.fukurou.util.StringUtil.nval;
019
020 import java.io.IOException;
021 import java.io.ObjectInputStream;
022 import java.io.ObjectOutputStream;
023 import java.util.ArrayList;
024 import java.util.List;
025 import java.util.Locale;
026 import java.util.Map;
027
028 import org.opengion.fukurou.util.StringUtil;
029 import org.opengion.fukurou.util.XHTMLTag;
030 import org.opengion.hayabusa.common.HybsSystem;
031 import org.opengion.hayabusa.common.HybsSystemException;
032 import org.opengion.hayabusa.db.DBColumn;
033 import org.opengion.hayabusa.db.DBColumnConfig;
034 import org.opengion.hayabusa.db.DBEditConfig;
035 import org.opengion.hayabusa.db.DBLastSql;
036 import org.opengion.hayabusa.db.DBTableModel;
037 import org.opengion.hayabusa.db.DBTableModelSorter;
038 import org.opengion.hayabusa.html.FormatterType;
039 import org.opengion.hayabusa.html.TableFormatter;
040 import org.opengion.hayabusa.html.ViewCrossTableParam;
041 import org.opengion.hayabusa.html.ViewForm;
042 import org.opengion.hayabusa.html.ViewFormFactory;
043 import org.opengion.hayabusa.html.ViewMarker;
044 import org.opengion.hayabusa.resource.RoleMode;
045 import org.opengion.hayabusa.resource.UserInfo;
046 import org.opengion.hayabusa.resource.GUIInfo;
047
048 /**
049 * ãƒ??タベã?スの検索結果を表示するタグですã?
050 *
051 * 検索結果は、DBTableModel にセãƒ?ƒˆされますã?
052 * こã?タグに、データ(DBTableModel)とã€?
053 * コントローラ(ViewForm)を与えてã€?外部からコントロールすることで、テキストフィールドやãƒ??ブルの形で表示したりã?
054 * 入力可/不可、表示可/不可の設定を行うことができますã?
055 *
056 * @og.formSample
057 * ●形式ï¼?lt;og:view />
058 * <og:view
059 * viewFormType = "HTMLTable"
060 * command = "{@command}"
061 * startNo = "0"
062 * pageSize = "20"
063 * language = "ja" />
064 *
065 * viewFormType : ViewFormオブジェクトを作æ?する時ã?キー(オプション) ViewFormFactory参ç?
066 * command : 処ç�?‚³マンãƒ? PREV,NEXT,FIRST,LAST,VIEW )(オプション)
067 * startNo : ãƒ??タの書き始めの初期値を指å®?オプション)
068 * pageSize : ãƒ??タのペã?ジ数(画面表示件数)を指å®?オプション)
069 * language : ロケール(オプション)
070 *
071 * ●body?šあã‚?EVAL_BODY_BUFFERED:BODYを評価しã?{@XXXX} を解析しまã�?
072 *
073 * ●Tag定義??
074 * <og:view
075 * viewFormType 【TAG】ViewForm オブジェクトを作æ?するクラス({@og.doc03Link viewFormType ViewForm_**** クラス})を指定しまã�?
076 * command 【TAG】コマンãƒ?PREV,NEXT,FIRST,LAST,NEW,RENEW,VIEW,REVIEW,RESET)をセãƒ?ƒˆしまã�?
077 * scope 【TAG】キャãƒ?‚·ュする場合ã?スコープ[request/page/session/applicaton]を指定しまã�?初期値:session)
078 * startNo 【TAG】表示ãƒ??タを作æ?する場合ã?表示の開始行番号をセãƒ?ƒˆしまã�?
079 * pageSize 【TAG】表示ãƒ??タを作æ?する場合ã??‘ã?ージの行数をセãƒ?ƒˆしまã�?
080 * pagePlus 【TAG】1ã?ージの行数の増加åˆ?‚’セãƒ?ƒˆしまã�?初期値:0)
081 * writable 【TAG】行が書き込み可能かどã�?�‹[true/false]を設定しまã�?(初期値:DBTableModel#DEFAULT_WRITABLE[=true])
082 * checked 【TAG】行ã?チェãƒ?‚¯ボックスの初期値を設定するかどã�?�‹[true/false]を指定しまã�?初期値:null)
083 * rowspan 【TAG】表示ãƒ??タを作æ?する場合ã?フォーマットã?行数をセãƒ?ƒˆしまã�?初期値:2)
084 * skip 【TAG】NEXT等でã€?�¸択行以外をスキãƒ??するのかどã�?�‹[true/false]を指定しまã�?(初期値:ViewForm#DEFAULT_SKIP[=false])
085 * columnWritable 【TAG】書き込み可能カラãƒ?��をã?カンマ区åˆ?‚Šで与えまã�?
086 * noWritable 【TAG】書き込み不可カラãƒ?��をã?カンマ区åˆ?‚Šで与えまã�?
087 * columnDisplay 【TAG】表示可能カラãƒ?��をã?カンマ区åˆ?‚Šで与えまã�?
088 * clmSeqDisplay 【TAG】表示可能カラãƒ?��をã?カラãƒ??に、カンマ区åˆ?‚Šで与えまã�?
089 * noDisplay 【TAG】表示不可カラãƒ?��をã?カンマ区åˆ?‚Šで与えまã�?
090 * columnGroup 【TAG】同ä¸?¡¨示ãƒ??タをまとめる(表示しなã�?カラãƒ?��をã?カンマ区åˆ?‚Šで与えまã�?
091 * noGroup 【TAG】同ä¸?¡¨示ãƒ??タをまとめなã�?‚«ラãƒ?��をã?カンマ区åˆ?‚Šで与えまã�?
092 * groupClass 【TAG】同ä¸?¡¨示ãƒ??タをまとめる場合ã?、表示方法をæŒ?®šしまã�?
093 * tableSorterKeys 【TAG】カラãƒ?��リンクソートを表示するカラãƒ?��をã?カンマ区åˆ?‚Šで与えまã�?
094 * tableId 【TAGã€?通常使ã�?�¾せん)sessionからæ‰?¾—すã‚?DBTableModelオブジェクトã? ID
095 * viewFormId 【TAGã€?通常使ã�?�¾せん)sessionから取得すã‚?ViewForm オブジェクトã? ID
096 * viewLinkId 【TAGã€?通常つかいません)requestから取得すã‚?ViewLink に対応すã‚?Attributes オブジェクトã? ID
097 * viewMarkerId 【TAGã€?通常使ã�?�¾せん)requestから取得すã‚?ViewMarker に対応すã‚?Attributes オブジェクトã? ID
098 * editMarkerId 【TAGã€?通常使ã�?�¾せん)requestから取得すã‚?EditMarker に対応すã‚?Attributes オブジェクトã? ID
099 * selectedType 【TAG】表示時ã?選択用オブジェクトã?タイプ[checkbox/radio/hidden]を指定しまã�?初期値:checkbox)
100 * numberType 【TAG】表示時ã?行番号の表示方法[sequence/none/delete/skip=カラãƒ?��/view=カラãƒ?��]を指定しまã�?初期値:sequence)
101 * optionTypeAttributes 【TAG】テーブル等ã?チェãƒ?‚¯ボックスに属æ?を付加しまã�?
102 * noMessage 【TAG】検索結果メãƒ?‚»ージを表示しなã�?�‹どã�?�‹[true/false]を設定しまã�?初期値:false[表示する])
103 * backLinkCount 【TAG】ã?ージの先é?へのリンクの間隔をセãƒ?ƒˆしまã�?(初期値:VIEW_BACK_LINK_COUNT[=0])
104 * headerSkipCount 【TAG】ã?ãƒ?ƒ€ーをå?力する間隔をセãƒ?ƒˆしまã�?初期値:シスãƒ?ƒ パラメータ の VIEW_HEADER_SKIP_COUNT)
105 * useCheckControl 【TAG】チェãƒ?‚¯ボックスの全チェãƒ?‚¯を選択するJavaScript の機è?を使用するかどã�?�‹を指定しまã�?(初期値:VIEW_USE_CHECK_CONTROL[=true])
106 * useTableSorter 【TAG】ã?ãƒ?ƒ€ーにソート用リンクを作æ?するかどã�?�‹[true/false]を指定しまã�?(初期値:VIEW_USE_TABLE_SORTER[=true])
107 * useParam 【TAG】パラメーターファイルの使用をするかどã�?�‹[true/false]を指定しまã�?初期値:false)
108 * useConsistency 【TAG】Consistency キー による整合æ?チェãƒ?‚¯を行うかどã�?�‹[true/false]を指定しまã�?初期値:true)
109 * bgColorCycle 【TAG】テーブルのバックグラウンドカラーの入れ替えã?サイクルをセãƒ?ƒˆしまã�?初期値はã€?:ゼブラ)
110 * bgColorClsClm 【TAG】テーブルのバックグラウンドカラーのクラスにæŒ?®šするカラãƒ?��を指定しまã�?
111 * useScrollBar 【TAG】スクロールバã?用のDIV要ç´?‚’出力するかどã�?�‹[true/false]を指定しまã�?(初期値:VIEW_USE_SCROLLBAR[=true])
112 * loadMarker 【TAG】viewLink ã‚?viewMarker のæƒ??取り込みを制御する(初期値は、NEW,RENEW,REVIEW,RESET)
113 * useSelectedRow 【TAG】SEL_ROW機è?[true:有効/false:無効]を指定しまã�?(初期値:VIEW_USE_SELECTED_ROW[=true])
114 * useSelRowColor 【TAG】SEL_ROW使用時ã?選択行色変更[true:有効/false:無効]を指定しまã�?(初期値:VIEW_USE_SELROW_COLOR[=true])
115 * useHilightRow 【TAG】HILIGHT_ROW機è?[true:有効/false:無効]を指定しまã�?(初期値:VIEW_USE_HILIGHT_ROW[=true])
116 * useAfterHtmlTag 【TAGã€?処ç�?™‚間やペã?ジサイズなどのæƒ??出力[true:有効/false:無効]を指定しまã�?初期値:true)
117 * writableControl 【TAG】設定å?に "_" が含まれてã�?‚‹場合にレンãƒ?ƒ©ーを使用するカラãƒ?‚’CSV形式でæŒ?®šしまã�?
118 * popupReturnKeys 【TAG】ogPopup で検索結果の値を返すキーをã?CSV形式でæŒ?®šしまã�?
119 * clazz 【TAG】table要ç´?�«対して class 属æ?を設定しまã�?初期値:viewTable)
120 * language 【TAG】タグå†?ƒ¨で使用するè¨?ªžコード[ja/en/zh/…]を指定しまã�?
121 * height 【TAG】ビューの高さを指定しまã�?
122 * width 【TAG】ビューのå¹?‚’æŒ?®šしまã�?
123 * fileDwnClms 【TAG】ファイルãƒ?‚¦ンロード時の抜å?カラãƒ?��(CSV形å¼?を指定しまã�?
124 * skipNoEdit 【TAG】編é›?¡Œã?みを表示するかをæŒ?®šしまã�?
125 * noTransition 【TAGã€?通常は使ã�?�¾せん)画面遷移を行わなã�?½¢式ã?登録方法を使用するかをæŒ?®šしまã�?
126 * useHilightCheckOnly【TAG】選択行ハイライトã?制御をチェãƒ?‚¯ボックスのみで有効にするかをæŒ?®šしまã�?(初期値:VIEW_USE_HILIGHT_CHECK_ONLY[=false])
127 * columnBulkSet 【TAG】ä¸?‹¬入力カラãƒ??アシスト機è?を利用するカラãƒ?��をã?カンマ区åˆ?‚Šで与えまã�?
128 * caseKey 【TAG】このタグ自体を利用するかどã�?�‹の条件キーを指定しまã�?初期値:null)
129 * caseVal 【TAG】このタグ自体を利用するかどã�?�‹の条件値を指定しまã�?初期値:null)
130 * caseNN 【TAG】指定ã?値がã?null/ゼロæ–?—å? でなã�??å�?Not Null=NN)は、このタグは使用されまã�?初期値:true)
131 * caseNull 【TAG】指定ã?値がã?null/ゼロæ–?—å? の場合ã?、このタグは使用されまã�?初期値:true)
132 * debug 【TAG】デバッグæƒ??をå?力するかどã�?�‹[true/false]を指定しまã�?初期値:false)
133 * > ... Body ...
134 * </og:view>
135 *
136 * ●使用ä¾?
137 * <og:view viewFormId="HTMLTable" command="NEW" startNo="0" pageSize="5" / >
138 *
139 * @og.group 画面表示
140 *
141 * @version 4.0
142 * @author Kazuhiko Hasegawa
143 * @since JDK5.0,
144 */
145 public class ViewFormTag extends CommonTagSupport {
146 //* こã?プログラãƒ??VERSIONæ–?—å?を設定しますã? {@value} */
147 private static final String VERSION = "5.5.9.0 (2012/12/03)" ;
148
149 private static final long serialVersionUID = 559020121203L ;
150
151 /** command 引数に渡す事ã?出来ã‚?コマンãƒ? プレビュー {@value} */
152 public static final String CMD_PREV = "PREV" ;
153 /** command 引数に渡す事ã?出来ã‚?コマンãƒ? ネクスãƒ?{@value} */
154 public static final String CMD_NEXT = "NEXT" ;
155 /** command 引数に渡す事ã?出来ã‚?コマンãƒ? ファースãƒ?{@value} */
156 public static final String CMD_FIRST = "FIRST";
157 /** command 引数に渡す事ã?出来ã‚?コマンãƒ? ラスãƒ?{@value} */
158 public static final String CMD_LAST = "LAST" ;
159 /** command 引数に渡す事ã?出来ã‚?コマンãƒ? 新è¦?{@value} */
160 public static final String CMD_NEW = "NEW" ;
161 /** command 引数に渡す事ã?出来ã‚?コマンãƒ? 再検索 {@value} */
162 public static final String CMD_RENEW = "RENEW" ;
163 /** command 引数に渡す事ã?出来ã‚?コマンãƒ? 表示 {@value} */
164 public static final String CMD_VIEW = "VIEW" ;
165 /** command 引数に渡す事ã?出来ã‚?コマンãƒ? 再表示 {@value} */
166 public static final String CMD_REVIEW = "REVIEW" ;
167 /** command 引数に渡す事ã?出来ã‚?コマンãƒ? リセãƒ?ƒˆ {@value} */
168 public static final String CMD_RESET = "RESET" ;
169 /** command 引数に渡す事ã?出来ã‚?コマンãƒ?リスãƒ? */
170 private static final String[] COMMAND_LIST = new String[] {
171 CMD_PREV , CMD_NEXT , CMD_FIRST , CMD_LAST , CMD_NEW , CMD_RENEW , CMD_VIEW , CMD_REVIEW , CMD_RESET };
172
173 // 3.8.0.8 (2005/10/03)
174 /** コマンドリストに存在しなã�??合ã?値 従来の CMD_VIEW と区別させるためã? */
175 private static final String CMD_XXX = "XXX" ;
176
177 private static final String START_NO_KEY = "startNo";
178 private static final String PAGE_SIZE_KEY = "pageSize";
179 private static final String PAGE_PLUS_KEY = "pagePlus";
180
181 // private static final String DEF_NUMBER_TYPE = "sequence"; // 5.3.0.0 (2010/12/01) 初期値を色ã€?½¿ã�??で定義
182
183 // 3.5.6.3 (2004/07/12) スクロールバã?用のDIV 要ç´?±žæ?定義
184
185 private String tableId = HybsSystem.TBL_MDL_KEY;
186 private String viewFormId = HybsSystem.VIEWFORM_KEY;
187 private String viewFormType = null;
188 private String viewLinkId = HybsSystem.VIEWLINK_KEY;
189 private String viewMarkerId = HybsSystem.VIEW_MARK_KEY;
190 private String editMarkerId = HybsSystem.EDIT_MARK_KEY; // 3.8.6.1 (2006/10/20)
191 private String command = null;
192 private int startNo = -1; // HTML画面上ã?表示開始位置(初期値)
193 private int tempStartNo = -1; // 再検索時ã?表示開始位置
194 private int pageSize = -1; // HTML画面上に表示する件数
195 private int pagePlus = -1; // 3.5.6.4 (2004/07/16)
196 private transient DBTableModel table = null;
197 private transient ViewForm form = null;
198 private String columnWritable = null;
199 private String noWritable = null;
200 private String columnDisplay = null;
201 private String noDisplay = null;
202 private String clmSeqDisplay = null; // 5.1.6.0 (2010/05/01) ViewForm_HTMLSeqClmTable 対å¿?
203 private String columnGroup = null; // 3.8.5.0 (2006/03/20)
204 private String noGroup = null; // 5.1.8.0 (2010/07/01)
205 private String groupClass = null; // 5.1.8.0 (2010/07/01)
206 private boolean noMessage = false;
207 private String writable = null;
208 private String checked = null;
209 private boolean skip = ViewForm.DEFAULT_SKIP;
210 private String rowspan = "2";
211 private String selectedType = "checkbox";
212 private String numberType = "sequence"; // 3.5.1.0 (2003/10/03) 追åŠ?
213 private String optTypeAttri = null;
214 // private String[] changeLabelKeys = null;
215 // private String[] changeLabelVals = null;
216 private int backLinkCount = HybsSystem.sysInt( "VIEW_BACK_LINK_COUNT" );
217 private int headerSkipCount = HybsSystem.sysInt( "VIEW_HEADER_SKIP_COUNT" ); // 0:通常ヘッãƒ??n:n回ごとに現れる
218 private List<TableFormatter> values = null;
219 private String bodyString = null;
220 private int useCheckControl = -1 ;
221 private String useTableSorter = null ; // 3.5.4.7 (2004/02/06)
222
223 private long dyStart = 0; // 3.5.4.7 (2004/02/06) 実行時間測定用のDIV要ç´?‚’出力しますã?
224 private boolean useParam = false; // 3.5.4.8 (2004/02/23) パラメータTagの使用を宣è¨?�—ますã?
225 private Map<String,String> viewParam = null; // 3.5.4.8 (2004/02/23) ViewParamTag のパラメータを受け取りますã?
226 // private Map<String,Object> viewObject = null; // 3.5.4.8 (2004/02/23) ViewParamTag のパラメータを受け取りますã? 5.5.9.0 (2012/12/03)削除
227 private ArrayList<String[]> viewArrayList = null; // 5.5.9.0 (2012/12/03) viewObjectから変更
228
229 // 3.5.5.8 (2004/05/20) 整合æ?チェãƒ?‚¯を行う為の、Consistency キー をå?力するかどã�?�‹を指定しますã?
230 private boolean useConsistency = HybsSystem.sysBool( "USE_CONSISTENCY" ) ;
231
232 // 3.5.6.2 (2004/07/05) ゼブラ模様ã?æŒ?®šを、ViewForm としてサポã?ãƒ?
233 // 0(ゼブラなã�?ã€?1(ワーニング)ã€?2以ä¸?エラー)ã€?(ゼブラ)ã€?以ä¸?行数まとã‚?
234 private int bgColorCycle = 1 ;
235
236 // 5.1.8.0 (2010/07/01) 行に対して、動çš?�«クラス属æ?を付与するカラãƒ?��を指定しますã?
237 private String bgColorClsClm = null;
238
239 private String useScrollBar = null ;
240
241 // 3.6.0.0 (2004/09/17) カラãƒ?‚½ートリンクをå?すカラãƒ?��を指定ã?
242 private String sortKeys = null;
243
244 // 3.6.0.4 (2004/10/14) viewLink ã‚?viewMarker のæƒ??取り込みを制御
245 // 前後ã? , が重要ですï¼?
246 private String loadMarker = ",NEW,RENEW,REVIEW,RESET,";
247
248 // 3.7.1.1 (2005/05/23) SEL_ROW機è?の有効/無効を指定しますã?
249 private String useSelectedRow = null ;
250
251 // 3.7.1.1 (2005/05/31) SEL_ROW機è?使用時に、BG_COLOR_ROWSEL の使用 æœ?無を指定しますã?
252 private String useSelRowColor = null;
253
254 // 3.7.1.1 (2005/05/23) 処ç�?™‚間やペã?ジサイズなどのæƒ??出力ã?有効/無効を指定しますã?
255 private boolean useAfterHtmlTag = true ;
256
257 // 3.8.0.9 (2005/10/17) 設定å?に "_" が含まれてã�?‚‹場合に、レンãƒ?ƒ©ーを使用しますã?
258 private String writableControl = null;
259
260 // 3.8.6.0 (2006/09/29) HILIGHT_ROW機è?の有効/無効を指定しますã?
261 private String useHilightRow = null;
262
263 // 3.8.6.1 (2006/10/20) ogPopup で検索結果の値を返すキーをã?CSV形式でæŒ?®šしますã?
264 private String popupReturnKeys = null ;
265
266 // 4.0.0 (2007/04/16) tableタグをå?力するときに付与しますã?
267 private String clazz = "viewTable";
268
269 // 4.2.0.0 (2008/03/18) ビューのå¹?�¨高さを指定できるようにしますã?
270 private String height = null;
271 private String width = null;
272
273 // 4.3.0.0 (2008/07/04) fileUD ファイルãƒ?‚¦ンロード時の抜å?カラãƒ?��(CSV形å¼?
274 private String fileDwnClms = null ;
275
276 // 4.3.1.0 (2008/09/08)
277 private boolean skipNoEdit = false;
278
279 // 4.3.3.0 (2008/10/01)
280 private boolean noTransition = false;
281
282 // 4.3.7.0 (2009/06/01) HILIGHT_ROW機è?有効時に制御を行チェãƒ?‚¯ボックスのみにしますã?
283 private String useHilightCheckOnly = null;
284
285 // 5.2.1.0 (2010/10/01) ä¸?‹¬入力カラãƒ??アシスト機è?を利用するカラãƒ?‚’æŒ?®šしますã?
286 private String columnBulkSet = null;
287 private boolean useDefBulkset = HybsSystem.sysBool( "VIEW_USE_DEFAULT_BULKSET" ) ;
288
289 /**
290 * Taglibの開始タグが見つかったときに処ç�?�™ã‚?doStartTag() ã‚?オーバã?ライドしますã?
291 *
292 * @og.rev 3.5.4.7 (2004/02/06) DBTableModelのソート機è? useTableSorter を追åŠ?
293 * @og.rev 3.5.4.7 (2004/02/06) 実行時間測定用にã€?–‹始時刻を取得しますã?
294 * @og.rev 3.5.4.8 (2004/02/23) useParam をã?BODY部の処ç�?ˆ¤定にåŠ?�ˆますã?
295 * @og.rev 3.5.6.0 (2004/06/18) DBRowHeader のパッケージプライベã?ト化に伴なã�?¤‰更
296 * @og.rev 3.5.6.1 (2004/06/25) viewFormType変更時ã?viewForm 再セãƒ?ƒˆ
297 * @og.rev 3.5.6.2 (2004/07/05) command="VIEW" などで、ありえなã�?�¨してã�?�Ÿ処ç�?‚’追åŠ?
298 * @og.rev 3.5.6.3 (2004/07/12) markerSet で table の整合æ?もチェãƒ?‚¯するã€?
299 * @og.rev 3.5.6.4 (2004/07/16) DBTableModelのソート時には、viewをå?期設定するã?
300 * @og.rev 3.6.0.0 (2004/09/17) scope ã�?request の場å�?検索)ヘッãƒ??ソートリンクは使えなã�??
301 * @og.rev 3.6.0.0 (2004/09/22) pageSize の form への設定見直しã?
302 * @og.rev 3.6.0.0 (2004/09/25) viewLink , viewMarker のリクエストメモリ削除の中止
303 * @og.rev 3.6.0.4 (2004/10/14) viewLink ã‚?viewMarker のæƒ??取り込みを制御する loadMarker を追åŠ?
304 * @og.rev 3.6.0.5 (2004/10/18) viewLink , viewMarker のリクエストメモリ削除を復活しますã?
305 * @og.rev 3.8.0.8 (2005/10/03) ヘッãƒ??ソート時に、startNo ã‚?0 に戻しますã?
306 * @og.rev 3.8.8.5 (2007/03/09) markerSet する条件を強化するã?
307 * @og.rev 3.8.8.9 (2007/05/29) ソート時のviewLink,viewMarker の取り込み
308 * @og.rev 3.8.9.3 (2007/08/28) soryKeysのみを指定したå?合に、ソート用のãƒ??ブルモãƒ?ƒ«が作æ?されなã�?ƒ�グを修正ã€?
309 * @og.rev 4.1.0.0(2008/01/11)シスãƒ?ƒ パラメータ(useCheckControl)の読取ã? doEndTag 関数から doStartTag 関数に移動しますã?
310 * @og.rev 5.1.6.0 (2010/05/01) ViewForm_HTMLSeqClmTable クラス によるカラãƒ?¡¨示é ??ç�?‚’行いますã?
311 * @og.rev 5.1.6.0 (2010/05/01) 左右åˆ?‰²スクロール画面でヘッãƒ??スクロールã�?回å?ç�?�•れるバグを修正
312 * @og.rev 5.1.6.0 (2010/05/01) ユーザー毎ã?画面é ?›®並び替え対å¿?
313 * @og.rev 5.1.7.0 (2010/06/01) ViewFormに画面IDをセãƒ?ƒˆしã?セãƒ?ƒˆされた画面IDと同じ場合ã?みViewFormを復å…?�™るã?
314 * @og.rev 5.1.7.0 (2010/06/01) DBColumnの{@XXXX}変数対å¿?
315 * @og.rev 5.1.7.0 (2010/06/01) ヘッãƒ??ソート後に画面遷移しã?戻ってきた際にstartNoがクリアされるバグを修正
316 * @og.rev 5.1.8.0 (2010/07/01) 全チェãƒ?‚¯を押した状態で画面遷移した場合にチェãƒ?‚¯状態を保持するã€?
317 * @og.rev 5.1.8.0 (2010/07/01) 同時設定不可(columnWritable,noWritable,columnDisplay,noDisplay,columnGroup,noGroup) チェãƒ?‚¯
318 * @og.rev 5.2.2.0 (2010/11/01) caseKey 、caseVal 属æ?対å¿?
319 * @og.rev 5.3.0.0 (2010/12/01) 左右åˆ?‰²スクロール(SplitViewTag)対å¿?
320 * @og.rev 5.3.6.0 (2011/06/01) Edit機è?見直ã�?
321 * @og.rev 5.4.1.0 (2011/11/01) 5.1.8.0 (2010/07/01)の全チェãƒ?‚¯保持機è?をå»?¢
322 *
323 * @return 後続å?ç�??æŒ?¤º
324 */
325 @Override
326 public int doStartTag() {
327 // 5.3.0.0 (2010/12/01) 左右åˆ?‰²スクロール(SplitViewTag)対å¿?
328 splitViewParamSet();
329
330 // 5.2.2.0 (2010/11/01) caseKey 、caseVal 属æ?対å¿?
331 if( !useTag() ) { return ( SKIP_BODY ); } // Body を評価しなã�?
332
333 // 5.1.8.0 (2010/07/01) 同時設定不可(columnWritable,noWritable,columnDisplay,noDisplay,columnGroup,noGroup) チェãƒ?‚¯
334 if( columnWritable != null && noWritable != null ) {
335 String errMsg = "columnWritable と noWritable は同時にæŒ?®šできませんã€?
336 + "columnWritable = [" + columnWritable
337 + "] , noWritable = [" + noWritable
338 + "]";
339 throw new HybsSystemException( errMsg );
340 }
341
342 if( columnDisplay != null && noDisplay != null ) {
343 String errMsg = "columnDisplay と noDisplay は同時にæŒ?®šできませんã€?
344 + "columnDisplay = [" + columnDisplay
345 + "] , noDisplay = [" + noDisplay
346 + "]";
347 throw new HybsSystemException( errMsg );
348 }
349
350 if( columnGroup != null && noGroup != null ) {
351 String errMsg = "columnGroup と noGroup は同時にæŒ?®šできませんã€?
352 + "columnGroup = [" + columnGroup
353 + "] , noGroup = [" + noGroup
354 + "]";
355 throw new HybsSystemException( errMsg );
356 }
357
358 dyStart = System.currentTimeMillis();
359 table = (DBTableModel)getObject( tableId );
360 if( table == null ) { return(SKIP_BODY); }
361
362 // 5.1.6.0 (2010/05/01)ViewForm_HTMLSeqClmTable クラス によるカラãƒ?¡¨示é ??ç�?‚’行いますã?
363 // clmSeqDisplay 属æ?が設定されてã�?‚‹と、クラスæŒ?®šを変更しã?columnDisplay に、clmSeqDisplay ã‚?
364 // 設定し、noDisplay をã?削除(null をセãƒ?ƒˆ)しますã?
365 if( clmSeqDisplay != null ) {
366 viewFormType = "HTMLSeqClmTable" ;
367 columnDisplay = clmSeqDisplay;
368 noDisplay = null;
369 }
370 // 5.1.6.0 (2010/05/01) seqClmTableを使用するかどã�?�‹をチェãƒ?‚¯しまã�?
371 // 5.3.6.0 (2011/06/01) Edit機è?見直しによりメソãƒ?ƒ‰名変更
372 // checkUseSeqClmTable();
373 String editName = getRequestValue( "editName" );
374 if( editName != null ) {
375 String guikey = getGUIInfoAttri( "KEY" );
376 DBEditConfig config = getUser().getEditConfig( guikey, editName );
377 if( config != null ) {
378 makeEditTable( config );
379 }
380 }
381
382 // 5.1.7.0 (2010/06/01) DBColumnの{@XXXX}変数対å¿?
383 int clmSize = table.getColumnCount();
384 for( int clmNo=0; clmNo<clmSize; clmNo++ ) {
385 DBColumn dbColumn = table.getDBColumn( clmNo );
386 if ( dbColumn.isNeedsParamParse() ){
387 DBColumnConfig config = dbColumn.getConfig();
388 config.setRendererParam( getRequestParameter( config.getRendererParam() ) );
389 config.setEditorParam( getRequestParameter( config.getEditorParam() ) );
390 DBColumn newColumn = new DBColumn( config );
391 table.setDBColumn( clmNo, newColumn );
392 }
393 }
394
395 // 3.8.8.9 (2007/05/29) ソート時の viewLink,viewMarker の取り込み
396 boolean useSorter = false;
397
398 // 3.5.4.7 (2004/02/06) DBTableModelのソート機è? 追åŠ?
399 // 登録後に同じソートé?で再表示させるために、リクエストキャãƒ?‚·ュに登録しますã?
400 // 3.8.9.3 (2007/08/28) soryKeysのみを指定したå?合に、ソート用のãƒ??ブルモãƒ?ƒ«が作æ?されなã�?ƒ�グを修正ã€?
401 // 5.1.6.0 (2010/05/01) 左右åˆ?‰²スクロール画面でヘッãƒ??スクロールã�?回å?ç�?�•れるバグを修正
402 if( "session".equals( getScope() )
403 && ( nval( useTableSorter,sysBool( "VIEW_USE_TABLE_SORTER" ) ) || sortKeys != null )
404 && !( table.getConsistencyKey().equals( getRequestAttribute( HybsSystem.VIEW_SORT_KEY ) ) ) ) {
405
406 String clm = getRequestValue( HybsSystem.SORT_COLUMNS );
407 // 若干トリãƒ?‚ー。å?めてクリãƒ?‚¯されるまで、DBTableModelSorter は作æ?しなã�??
408 if( clm != null && clm.length() > 0 ) {
409 useSorter = true; // 3.8.8.9 (2007/05/29)
410 startQueryTransaction( tableId ); // 3.6.0.8 (2004/11/19)
411 int clmNo = table.getColumnNo( clm );
412 boolean sortAscending = nval( getRequestValue( HybsSystem.SORT_ASCENDING ),true );
413 if( table instanceof DBTableModelSorter ) {
414 if( !CMD_RESET.equals( command ) ) {
415 ((DBTableModelSorter)table).sortByColumn( clmNo );
416 }
417 sortAscending = ((DBTableModelSorter)table).isAscending() ; // ソート方å�?
418 }
419 else {
420 DBTableModelSorter temp = new DBTableModelSorter();
421 temp.setModel( table );
422 temp.sortByColumn( clmNo,sortAscending );
423 table = temp;
424 }
425 // 3.6.0.8 (2004/11/19) トランザクションチェãƒ?‚¯を行いますã?
426 if( ! commitTableObject( tableId, table ) ) {
427 jspPrint( "ViewFormTag Query処ç�?�Œ割り込まれましたã€?BTableModel は登録しませんã€? );
428 return (SKIP_PAGE);
429 }
430 if( CMD_VIEW.equals( command ) ) {
431 setRequestCacheData( HybsSystem.SORT_COLUMNS,clm );
432 setRequestCacheData( HybsSystem.SORT_ASCENDING,String.valueOf( sortAscending ) );
433 }
434
435 // 5.1.6.0 (2010/05/01)
436 setRequestAttribute( HybsSystem.VIEW_SORT_KEY, table.getConsistencyKey() );
437
438 // 3.8.0.8 (2005/10/03) ヘッãƒ??ソート時に、startNo ã‚?0 に戻しますã?
439 // 5.1.7.0 (2010/06/01) ヘッãƒ??ソート後に画面遷移しã?戻ってきた際にstartNoがクリアされるバグを修正
440 if( !CMD_RENEW.equals( command ) ) {
441 startNo = 0;
442 tempStartNo = startNo;
443 }
444 }
445 }
446
447 if( CMD_NEW.equals( command ) || CMD_RENEW.equals( command ) || CMD_REVIEW.equals( command ) || CMD_RESET.equals( command ) ) {
448 form = ViewFormFactory.newInstance( viewFormType ); // 3.5.6.1 (2004/06/25)
449 // dbChangeLabel();
450 form.init( table );
451 table.setDefaultRowWritable( DBTableModel.DEFAULT_WRITABLE );
452 table.setDefaultRowChecked( DBTableModel.DEFAULT_CHECKED );
453 }
454 else {
455 // 3.5.6.1 (2004/06/25) viewFormType変更時ã?viewForm 再セãƒ?ƒˆ
456 ViewForm oldForm = (ViewForm)getObject( viewFormId );
457 // 5.1.7.0 (2010/06/01) ViewFormに画面IDをセãƒ?ƒˆしã?セãƒ?ƒˆされた画面IDと同じ場合ã?みViewFormを復å…?�™るã?
458 // if( oldForm != null ) {
459 if( oldForm != null && getGUIInfoAttri( "KEY" ).equals( oldForm.getGamenId() ) ) {
460 if( oldForm.getViewFormType().equals( viewFormType ) ) {
461 form = oldForm ;
462 }
463 else {
464 form = ViewFormFactory.newInstance( viewFormType );
465 }
466 form.init( table );
467 // 3.5.6.3 (2004/07/12) markerSet で table の整合æ?もチェãƒ?‚¯するã€?
468 DBTableModel oldTable = oldForm.getDBTableModel();
469 if( table.getConsistencyKey().equals( oldTable.getConsistencyKey() ) ) {
470 // 3.8.8.5 (2007/03/09) markerSet する条件を強化するã?
471 // 3.8.8.9 (2007/05/29) ソート時の viewLink,viewMarker の取り込み
472 if( "true".equalsIgnoreCase( loadMarker ) ||
473 loadMarker.indexOf( "," + command + "," ) >= 0 ||
474 useSorter ) {
475 form.markerSet( oldForm );
476 }
477 }
478 }
479 else {
480 // 3.5.6.2 (2004/07/05) command="VIEW" などで、ありえなã�?�¨してã�?�Ÿ処ç�?‚’追åŠ?
481 form = ViewFormFactory.newInstance( viewFormType );
482 form.init( table );
483 }
484 }
485
486 // 5.1.7.0 (2010/06/01) ViewFormに画面IDをセãƒ?ƒˆしã?セãƒ?ƒˆされた画面IDと同じ場合ã?みViewFormを復å…?�™るã?
487 form.setGamenId( getGUIInfoAttri( "KEY" ) );
488
489 // 3.6.0.4 (2004/10/14) ViewMarker 等ã?セãƒ?ƒˆは、loadMarker で制御しますã?
490 if( "true".equalsIgnoreCase( loadMarker ) ||
491 loadMarker.indexOf( "," + command + "," ) >= 0 ) {
492 ViewMarker viewLink = (ViewMarker)getRequestAttribute( viewLinkId );
493 if( viewLink != null ) {
494 form.setViewLink( viewLink );
495 removeRequestAttribute( viewLinkId ); // 3.6.0.5 (2004/10/18) 復活
496 }
497
498 ViewMarker viewMarker = (ViewMarker)getRequestAttribute( viewMarkerId );
499 if( viewMarker != null ) {
500 form.setViewMarker( viewMarker );
501 removeRequestAttribute( viewMarkerId ); // 3.6.0.5 (2004/10/18) 復活
502 }
503
504 // 3.8.6.1 (2006/10/24) editMarker を追åŠ?�™るã?
505 ViewMarker editMarker = (ViewMarker)getRequestAttribute( editMarkerId );
506 if( editMarker != null ) {
507 form.setEditMarker( editMarker );
508 removeRequestAttribute( editMarkerId );
509 }
510 }
511 // 3.8.0.5 (2005/08/26) false の場合ã?、無条件に、form のviewLinkとViewMarkerをクリアしますã?
512 if( "false".equalsIgnoreCase( loadMarker ) ) {
513 form.setViewLink( null );
514 form.setViewMarker( null );
515 form.setEditMarker( null ); // 3.8.6.1 (2006/10/24)
516 }
517 // 4.1.0.0(2008/01/11)シスãƒ?ƒ パラメータ(useCheckControl)の読取ã? doEndTag 関数から doStartTag 関数に移動しますã?
518 if( useCheckControl < 0 ) {
519 useCheckControl = intCase( sys( "VIEW_USE_CHECK_CONTROL" ) ) ;
520 }
521 // 5.1.8.0 (2010/07/01) 全チェãƒ?‚¯を押した状態で画面遷移した場合にチェãƒ?‚¯状態を保持するã€?
522 // if( useCheckControl == 1 ) {
523 // useCheckControl = StringUtil.nval( getRequest().getParameter( "ALL_CHECK" ), useCheckControl );
524 // }
525 setTableRowWritable( table );
526
527 setDefaultParameter();
528
529 // if( pagePlus != 0 ) { ※ なã�?!= ã�?�£たã?か謎ã?pagePlusがã?イナス時ã???
530 if( pagePlus > 0 ) {
531 form.setPageSize( pageSize + pagePlus );
532 }
533 else {
534 form.setPageSize( pageSize ); // 3.6.0.0 (2004/09/22) 追åŠ?
535 }
536
537 // 3.5.4.8 (2004/02/23)
538 if( form.canUseFormat() || useParam ) { return( EVAL_BODY_BUFFERED ); } // JSP API 1.2
539
540 return( SKIP_BODY );
541 }
542
543 /**
544 * Taglibのタグ本体を処ç�?�™ã‚?doAfterBody() ã‚?オーバã?ライドしますã?
545 *
546 * @og.rev 3.1.1.0 (2003/03/28) ボディのå†?®¹を取得するå?ç�?‚’、CommonTagSupport で行vうã€?
547 * @og.rev 3.1.1.2 (2003/04/04) Tomcat4.1 対応ã?ボディが存在する場合ã?みボディが呼ばれる対応ã?
548 * @og.rev 3.5.4.0 (2003/11/25) 外部からフォーマットがæŒ?®šされなã�??合ã?、å?部のフォーマットを登録するã€?
549 * @og.rev 5.1.7.0 (2010/06/01) フォーマットã?{@XXXX}の値に[が含まれる場合ã?、サイニタイズ("\\]\\"に変換)するã€?
550 *
551 * @return 後続å?ç�??æŒ?¤º(SKIP_BODY)
552 */
553 @Override
554 public int doAfterBody() {
555 // bodyString = getBodyString();
556 bodyString = getSanitizedBodyString();
557 return(SKIP_BODY);
558 }
559
560 /**
561 * Taglibの終äº?‚¿グが見つかったときに処ç�?�™ã‚?doEndTag() ã‚?オーバã?ライドしますã?
562 *
563 * @og.rev 3.0.1.3 (2003/03/11) startNo を隠しフィールドに持つ処ç�?‚’、追åŠ?
564 * @og.rev 3.1.1.2 (2003/04/04) Tomcat4.1 対応ã?release2() ã‚?doEndTag()で呼ぶã€?
565 * @og.rev 3.5.0.0 (2003/03/28) noClass 属æ?の追åŠ??および、ロジãƒ?‚¯整ç�??
566 * @og.rev 3.5.1.0 (2003/10/03) numberType 属æ?の追åŠ?
567 * @og.rev 3.5.2.0 (2003/10/20) headerSkipCount属æ?を追åŠ?
568 * @og.rev 3.5.2.0 (2003/10/20) form ã�?null の場合ã?条件åˆ?²�を追åŠ?
569 * @og.rev 3.5.3.1 (2003/10/31) Table系のViewで、skip属æ?を使用するã€?
570 * @og.rev 3.5.4.0 (2003/11/25) command="RESET"時に、戻った画面のpageSize がクリアされてしまã�?¯¾応ã?
571 * @og.rev 3.5.4.0 (2003/11/25) フォーマット文字å?をã?TableFormatter オブジェクトを使用するように変更ã€?
572 * @og.rev 3.5.4.1 (2003/12/01) startNo を隠しフィールドに持つ処ç�?‚’å»?¢ã€?キャãƒ?‚·ュを使用)
573 * @og.rev 3.5.4.3 (2004/01/05) useCheckControl属æ?を追åŠ?
574 * @og.rev 3.5.4.7 (2004/02/06) DBTableModelのソート機è? useTableSorter を追åŠ?
575 * @og.rev 3.5.4.7 (2004/02/06) makeStartNoKeyメソãƒ?ƒ‰のå»?¢(setRequestCacheDataを利用)
576 * @og.rev 3.5.4.7 (2004/02/06) 実行時間測定用のDIV要ç´?‚’出力しておきますã?
577 * @og.rev 3.5.4.8 (2004/02/23) ViewParamTag のパラメータを追åŠ?�—ますã?
578 * @og.rev 3.5.5.5 (2004/04/23) DBTableModel の整合æ?パラメータã‚?hidden で出力しますã?
579 * @og.rev 3.5.5.8 (2004/05/20) makeConsistencyKey メソãƒ?ƒ‰に処ç�?ƒジãƒ?‚¯を移しますã?
580 * @og.rev 3.5.6.2 (2004/07/05) bgColorCycle 変数の追åŠ??
581 * @og.rev 3.5.6.4 (2004/07/16) スクロールバã?用のDIV要ç´??出åŠ?開å§?
582 * @og.rev 3.6.0.0 (2004/09/17) カラãƒ?‚½ートリンクをå?すカラãƒ?��を指定ã?
583 * @og.rev 3.6.0.0 (2004/09/22) pageSize の hidden 出力ã?、å?期設定å?としますã?
584 * @og.rev 3.7.0.3 (2005/03/01) æŒ?®šã?行番号まで画面をスクロールさせる機è?を追åŠ??
585 * @og.rev 3.7.1.1 (2005/05/23) 処ç�?™‚間やペã?ジサイズなどのæƒ??出力ã?有効/無効を指定しますã?
586 * @og.rev 3.8.0.3 (2005/07/15) ヘッãƒ??固定ã?スクロールタイプをセãƒ?ƒˆしますã?
587 * @og.rev 3.8.0.9 (2005/10/17) writableControl 属æ?を追åŠ?�—ますã?
588 * @og.rev 3.8.6.0 (2006/09/29) useHilightRow 属æ?を追åŠ?�—ますã?
589 * @og.rev 3.8.6.1 (2006/10/20) ポップアãƒ??で値を返すカラãƒ?–‡字å?(CSV形å¼?
590 * @og.rev 4.0.0.0 (2007/11/27) ヘッãƒ??カラãƒ??エãƒ?‚£ター、レンãƒ?ƒ©ー適用対å¿?
591 * @og.rev 4.1.2.0 (2008/03/12) columnWritable,noWritable にã€?null" を指定可能とするã€?
592 * @og.rev 4.2.0.0 (2008/03/18) ビューの高さ、å¹??æŒ?®šを可能にしますã?
593 * @og.rev 4.2.1.0 (2008/04/11) null チェãƒ?‚¯方法変更
594 * @og.rev 4.3.0.0 (2008/07/04) ロールモードによる設å®?
595 * @og.rev 4.3.0.0 (2008/07/04) fileUD 対応ã?抜き出すカラãƒ?‚’æŒ?®šしますã?
596 * @og.rev 4.3.1.0 (2008/09/08) canUseFormatのエラーハンドリングはå�?‚µブクラスで行う。editOnly属æ?対応ã?
597 * @og.rev 4.3.3.0 (2008/10/01) noTransition 属æ?を追åŠ?�—ますã?
598 * @og.rev 4.3.6.0 (2009/04/01) eventColumn対å¿?
599 * @og.rev 4.3.7.0 (2009/06/01) 行ハイライト機è?でチェãƒ?‚¯ボックスでのみON/OFFができるオプションを追åŠ?
600 * @og.rev 4.3.8.0 (2009/08/01) noTransition値取得メソãƒ?ƒ‰名変更
601 * @og.rev 5.1.3.0 (2010/02/01) noTransitionのコントロールは、requestで行うã€?
602 * @og.rev 5.1.6.0 (2010/05/01) fileDwnClmsが指定されなã�??合ã?、Viewで表示されたカラãƒ?‚’セãƒ?ƒˆ
603 * @og.rev 5.1.7.0 (2010/06/01) 動的プルãƒ?‚¦ン実è£?¦‹直ã�?
604 * @og.rev 5.1.7.0 (2010/06/01) HilightRow用のDivはå¿?�š出ã�?画面遷移なし登録(JavaScript)の正規表現でマッチさせるため))
605 * @og.rev 5.1.8.0 (2010/07/01) form.setNoGroup( noGroup ) , form.setGroupClass( groupClass ) 追åŠ?
606 * @og.rev 5.1.8.0 (2010/07/01) form.setBgColorClsClm( bgColorClsClm ) 追åŠ?
607 * @og.rev 5.1.8.0 (2010/07/01) Divをå¿?�š出すã?は、画面遷移なし登録の場合ã?みとする(CustomData対å¿?
608 * @og.rev 5.2.1.0 (2010/10/01) ä¸?‹¬入力カラãƒ??アシスト機è?を利用するカラãƒ?‚’æŒ?®šしますã?(columnBulkSet)
609 * @og.rev 5.2.2.0 (2010/11/01) useHeaderColumn 属æ?をã?ViewCrossTableParam.USE_HEADER_COLUMN をキーに、取得すã‚?
610 * @og.rev 5.2.2.0 (2010/11/01) caseKey 、caseVal 属æ?対å¿?
611 * @og.rev 5.5.8.3 (2012/11/17) viewObject追åŠ?
612 * @og.rev 5.5.9.0 (2012/12/03) viewObjectをviewArrayListに変更
613 *
614 * @return 後続å?ç�??æŒ?¤º
615 */
616 @Override
617 public int doEndTag() {
618 debugPrint(); // 4.0.0 (2005/02/28)
619 // 5.2.2.0 (2010/11/01) caseKey 、caseVal 属æ?対å¿?
620 if( !useTag() ) { return(EVAL_PAGE); }
621
622 // noTransition = isNoTransitionRequest() || noTransition; // 4.3.3.0 (2008/10/01) 追åŠ?
623 // noTransition = isNoTransitionSession() || noTransition; // 4.3.8.0 (2009/08/01)
624 noTransition = isNoTransitionRequest(); // 5.1.3.0 (2010/02/01)
625 if( form == null ) { return(EVAL_PAGE); } // 3.5.2.0 (2003/10/20)
626 if( form.canUseFormat() ) {
627 // if( values == null && bodyString != null ) { // 4.3.1.0 (2008/09/08)
628 if( values == null && bodyString != null && !useParam ) {
629 TableFormatter format = new TableFormatter();
630 // format.setFormatType( TableFormatter.TYPE_HEAD );
631 format.setFormatType( FormatterType.TYPE_HEAD );
632 format.setFormat( bodyString );
633 format.setRowspan( rowspan );
634 values = new ArrayList<TableFormatter>();
635 values.add( format );
636 form.setFormatterList( values );
637 }
638 else if( values != null ) {
639 form.setFormatterList( values );
640 }
641 // 4.3.1.0 (2008/09/08)
642 // else {
643 // String errMsg = "ViewTagで canUseFormat() = true の場合ã?Formatter はå¿??ですã?";
644 // throw new HybsSystemException( errMsg );
645 // }
646 }
647
648 if( table != null ) {
649 // 4.1.2.0 (2008/03/12) columnWritable,noWritable にã€?null" を指定可能とするã€?
650 // 4.2.1.0 (2008/04/11) null チェãƒ?‚¯方法変更
651 // if( noWritable != null && columnWritable != null ) {
652 // String errMsg = "columnWritable と noWritable は同時にæŒ?®šできませんã€?"
653 // + "columnWritable = " + columnWritable
654 // + " , noWritable = " + noWritable
655 // + "]";
656 // throw new HybsSystemException( errMsg );
657 // }
658
659 // if( "null".equalsIgnoreCase( columnWritable ) ) {
660 // columnWritable = "" ; noWritable = null;
661 // }
662 // else if( "null".equalsIgnoreCase( noWritable ) ) {
663 // columnWritable = null ; noWritable = "";
664 // }
665
666 // 4.2.0.0 (2008/03/18) ビューの高さ、å¹?‚’æŒ?®šするã?null回避はAbstractViewFormで行う
667 form.setHeight( height );
668 form.setWidth( width );
669
670 form.setColumnWritable( columnWritable );
671 form.setNoWritable( noWritable );
672 form.setColumnDisplay( columnDisplay );
673 form.setNoDisplay( noDisplay );
674 form.setColumnGroup( columnGroup ); // 3.8.5.0 (2006/03/20)
675 form.setNoGroup( noGroup ); // 5.1.8.0 (2010/07/01) 追åŠ?
676 form.setGroupClass( groupClass ); // 5.1.8.0 (2010/07/01) 追åŠ?
677 form.setTableSorterKeys( sortKeys ); // 3.6.0.0 (2004/09/17) 追åŠ?
678 form.setNoMessage( noMessage );
679 form.setSelectedType( selectedType );
680 // if( useCheckControl < 0 ) {
681 // useCheckControl = intCase( sys( "VIEW_USE_CHECK_CONTROL" ) ) ;
682 // }
683 form.setUseCheckControl( useCheckControl ); // 3.5.4.3 (2004/01/05) 追åŠ?
684 form.setNumberType( numberType ); // 3.5.1.0 (2003/10/03) 追åŠ?
685 form.setOptionTypeAttributes( optTypeAttri );
686 form.setBackLinkCount( backLinkCount );
687 form.setHeaderSkipCount( headerSkipCount ); // 3.5.2.0 (2003/10/20) 追åŠ?
688 if( useParam ) {
689 form.setParam( viewParam ); // 3.5.4.8 (2004/02/23)
690 // form.setViewObject( viewObject ); // 5.5.8.3 (2012/11/17)
691 form.setViewArrayList( viewArrayList ); // 5.5.9.0 (2012/12/03)
692 }
693 form.setBgColorCycle( bgColorCycle ); // 3.5.6.2 (2004/07/05) 追åŠ?
694 form.setBgColorClsClm( bgColorClsClm ); // 5.1.8.0 (2010/07/01) 追åŠ?
695 form.setWritableControl( writableControl ); // 3.8.0.9 (2005/10/17) 追åŠ?
696
697 // 5.2.1.0 (2010/10/01) 初期バルクセãƒ?ƒˆã�?true で、かつ、変数が未設定ã?場合ã?、å?カラãƒ?*)選択とするã€?
698 if( useDefBulkset && columnBulkSet == null ) { columnBulkSet = "*"; }
699 // selectedType ã�?radio の場合ã?、カラãƒ??設定を行わなã�??
700 if( "radio".equalsIgnoreCase( selectedType ) ) { columnBulkSet = null; }
701 form.setColumnBulkSet( columnBulkSet ); // 5.2.1.0 (2010/10/01) 追åŠ?
702
703 // 3.6.0.0 (2004/09/22) pageSize の hidden 出力ã?、å?期設定å?としますã?
704 int oldPageSize = pageSize;
705 pageSize = form.getPageSize();
706 commandExec( command );
707
708 form.setStartNo( startNo );
709 form.setSkip( skip ); // 3.5.3.1 (2003/10/31)
710 form.setSkipNoEdit( skipNoEdit ); // 4.3.1.0 (2008/09/08)
711 boolean useTblSorter = "session".equals( getScope() ) &&
712 nval( useTableSorter,sysBool( "VIEW_USE_TABLE_SORTER" ) );
713 form.setUseTableSorter( useTblSorter ); // 3.5.4.7 (2004/02/06)
714
715 // 3.6.0.0 (2004/09/17)
716 // tableSorter 時ã?リンクに追åŠ?�™るリクエスト変数のキャãƒ?‚·ュMapを追åŠ?�™るã?
717 if( useTblSorter || sortKeys != null ) {
718 // 4.0.0 (2005/01/31)
719 String memKey = HybsSystem.REQ_CACHE_KEY + getGUIInfoAttri( "KEY" );
720 Map<?,?> mem = (Map<?,?>)getSessionAttribute( memKey ); // 4.3.3.6 (2008/11/15) Generics警告対å¿?
721 form.makeTableSorterQuery( mem );
722 }
723
724 // 3.5.6.4 (2004/07/16) スクロールバã?用のDIV要ç´??出åŠ?開å§?
725 // 3.8.0.3 (2005/07/15) ヘッãƒ??固定ã?スクロールタイプをセãƒ?ƒˆしますã?
726 // 4.0.0 (2007/04/10) ヘッãƒ??固定ã?スクロールタイプã?、ä¸?�¤にするã€?
727 // String hctype = (String)getRequest().getAttribute( HybsSystem.HEADER_FIX_TYPE );
728 boolean useScBar = nval( useScrollBar,sysBool( "VIEW_USE_SCROLLBAR" ) );
729 // form.setUseScrollBar( useScBar,hctype );
730 form.setUseScrollBar( useScBar );
731
732 // 3.8.6.1 (2006/10/20) ポップアãƒ??で値を返すカラãƒ?–‡字å?(CSV形å¼?
733 form.setPopupReturnKeys( popupReturnKeys );
734 form.setTableClass( clazz ); // 4.0.0 (2007/04/16)
735
736 // 3.7.0.3 (2005/03/01) æŒ?®šã?行番号まで画面をスクロールさせる機è?を追åŠ??{I} は無視するã?
737 String rowval = nval( getRequestValue( "SEL_ROW" ),null ) ;
738
739 boolean useSelRow = nval( useSelectedRow,sysBool( "VIEW_USE_SELECTED_ROW" ) );
740 if( useSelRow && rowval != null && !rowval.equalsIgnoreCase( "{I}" ) ) {
741 boolean useSelRowClr = nval( useSelRowColor,sysBool( "VIEW_USE_SELROW_COLOR" ) ) ;
742 form.setScrollRowNo( Integer.parseInt( rowval ),useSelRowClr );
743 }
744
745 // 4.0.0 (2005/11/30) カラãƒ?ƒールを判定して、アクセス不可の場合ã?表示させなã�?‚ˆã�?�«するã€?
746 int clmSize = table.getColumnCount();
747 UserInfo userInfo = getUser();
748 for( int clmNo=0; clmNo<clmSize; clmNo++ ) {
749 DBColumn dbColumn = table.getDBColumn( clmNo );
750
751 // 4.3.6.0 (2009/04/01) セãƒ?‚·ョンに生SQLを登録
752 // 5.1.7.0 (2010/06/01) 動的プルãƒ?‚¦ン実è£?¦‹直ã�?
753 String evCol = dbColumn.getEventColumn();
754 if( evCol != null && evCol.length() > 0 ){
755 // addEventColumnSQL( dbColumn.getName(), dbColumn.getRawParam() );
756 addEventColumn( dbColumn );
757 }
758
759 // 4.3.0.0 (2008/07/04) ロールモードによる設å®?
760 byte bitMode = userInfo.getAccessBitMode( dbColumn.getRoleMode() );
761 // アクセス不許可の場合ã?み、セãƒ?ƒˆするã€?
762 // それ以外ã?、columnDisplay ,noDisplay 属æ?が適用されてã�?‚‹ã€?
763 if( !RoleMode.isRead( bitMode ) ) {
764 form.setColumnDisplay( clmNo,false );
765 }
766 // 書込み不許可の場合ã?み、セãƒ?ƒˆするã€?
767 // それ以外ã?、columnWritable ,noWritable 属æ?が適用されてã�?‚‹ã€?
768 if( !RoleMode.isWrite( bitMode ) ) {
769 form.setColumnWritable( clmNo,false );
770 }
771 // boolean ok = userInfo.isAccess( dbColumn.getRoles() );
772 // // アクセス不許可の場合ã?み、セãƒ?ƒˆするã€?
773 // // それ以外ã?、columnDisplay ,noDisplay 属æ?が適用されてã�?‚‹ã€?
774 // if( !ok ) { form.setColumnDisplay( clmNo,false ); }
775 }
776
777 // 3.8.6.0 (2006/09/29) useHilightRow 属æ?追åŠ?
778 boolean useHiRow = nval( useHilightRow,sysBool( "VIEW_USE_HILIGHT_ROW" ) );
779 // 5.1.7.0 (2010/06/01) HilightRow用のDivはå¿?�š出ã�?画面遷移なし登録(JavaScript)の正規表現でマッチさせるため))
780 // 5.1.8.0 (2010/07/01) Divをå¿?�š出すã?は、画面遷移なし登録の場合ã?みとする(CustomData対å¿?
781 if( useHiRow || noTransition ) {
782 jspPrint( "<div id=\"divHlr\"" );
783 if( useHiRow ) {
784 // jspPrint( "<div onclick=\"hilightRow();\">" );
785 // 4.3.7.0 (2009/06/01)
786 boolean useHiCkOnly = nval( useHilightCheckOnly,sysBool( "VIEW_USE_HILIGHT_CHECK_ONLY" ) );
787 // jspPrint( "<div onclick=\"hilightRow( event, " + useHiCkOnly + ");\">" );
788 jspPrint( " onclick=\"hilightRow( event, " + useHiCkOnly + ");\"" );
789 }
790 jspPrint( ">" );
791 }
792
793 // 4.0.0.0 (2007/11/27) è¶?‰¹殊å?ç�?クロスé›?¨ˆ時にヘッãƒ?‚’動的に作æ?するために使用
794 // if( viewParam != null && "true".equalsIgnoreCase( viewParam.get( "useHeaderColumn" ) ) ) {
795 // form.setResourceManager( getResource() );
796 // }
797 // 5.2.2.0 (2010/11/01) useHeaderColumn 属æ?をã?ViewCrossTableParam.USE_HEADER_COLUMN をキーに、取得すã‚?
798 if( viewParam != null &&
799 "true".equalsIgnoreCase( viewParam.get( ViewCrossTableParam.USE_HEADER_COLUMN ) ) ) {
800 form.setResourceManager( getResource() );
801 }
802
803 form.setNoTransition( noTransition ); // 4.3.3.0 (2008/10/01) 追åŠ?
804
805 jspPrint( form.create( startNo,pageSize ) );
806
807 // 5.1.8.0 (2010/07/01) Divをå¿?�š出すã?は、画面遷移なし登録の場合ã?みとする(CustomData対å¿?
808 // if( useHiRow ) {
809 if( useHiRow || noTransition ) {
810 jspPrint( "</div>" );
811 }
812
813 setRequestCacheData( START_NO_KEY,String.valueOf( tempStartNo ) ); // 3.5.4.7 (2004/02/06)
814 // 3.6.0.0 (2004/09/22) pageSize の hidden 出力ã?、å?期設定å?としますã?
815 if( useAfterHtmlTag ) { // 3.7.1.1 (2005/05/23)
816 jspPrint( makePageSize( oldPageSize ) ); // 3.6.0.0 (2004/09/22)
817 }
818
819 makeConsistencyKey(); // 3.5.5.8 (2004/05/20)
820
821 setObject( viewFormId, form );
822
823 // 3.5.4.8 (2004/02/23) è¶?‰¹殊å?ç�?DBTableModel ã‚?View で置き換えますã?
824 // 5.2.2.0 (2010/11/01) saveTableId 属æ?をã?ViewCrossTableParam.SAVE_SCOPE_KEY をキーに、取得すã‚?
825 if( viewParam != null ) {
826 // String saveTableId = viewParam.get( "saveTableId" );
827 String saveTableId = viewParam.get( ViewCrossTableParam.SAVE_TABLEID_KEY ); // 5.2.2.0 (2010/11/01)
828 if( saveTableId != null ) {
829 String saveScope = viewParam.get( ViewCrossTableParam.SAVE_SCOPE_KEY );
830 setObject( saveTableId, form.getDBTableModel() , saveScope );
831 }
832 }
833
834 // 5.1.6.0 (2010/05/01) Viewで表示したé ?›®をDBLastSqlにセãƒ?ƒˆしますã?
835 if( table.getRowCount() > 0 ) {
836 setViewClms();
837 }
838 }
839
840 if( useAfterHtmlTag ) { // 3.7.1.1 (2005/05/23)
841 // 3.5.4.7 (2004/02/06)
842 long dyTime = System.currentTimeMillis()-dyStart;
843 jspPrint( "<div id=\"viewTime\" value=\"" + (dyTime) + "\"></div>" ); // 3.5.6.3 (2004/07/12)
844 }
845
846 return(EVAL_PAGE);
847 }
848
849 /**
850 * タグリブオブジェクトをリリースしますã?
851 * キャãƒ?‚·ュされて再利用されるã?で、フィールドã?初期設定を行いますã?
852 *
853 * @og.rev 2.0.0.4 (2002/09/27) カスタãƒ?‚¿グの release() メソãƒ?ƒ‰をã?追åŠ?
854 * @og.rev 2.0.0.4 (2002/09/27) カスタãƒ?‚¿グの release() メソãƒ?ƒ‰をã?追åŠ?
855 * @og.rev 3.0.1.3 (2003/03/11) startNo を隠しフィールドに持つ処ç�?‚’、追åŠ?
856 * @og.rev 3.1.1.2 (2003/04/04) Tomcat4.1 対応ã?release2() ã‚?doEndTag()で呼ぶã€?
857 * @og.rev 3.5.2.0 (2003/10/20) headerSkipCount属æ?を追åŠ?
858 * @og.rev 3.5.3.0 (2003/10/27) backLinkCount,headerSkipCount属æ?の初期値をPropertyファイルから設å®?
859 * @og.rev 3.5.4.0 (2003/11/25) format 関係ã?æ–?—å?をå»?¢。TableFormatter クラスを使用するã€?
860 * @og.rev 3.5.4.3 (2004/01/05) useCheckControl属æ?を追åŠ?
861 * @og.rev 3.5.4.7 (2004/02/06) DBTableModelのソート機è? useTableSorter を追åŠ?
862 * @og.rev 3.5.4.7 (2004/02/06) 実行時間測定用に、dyStart を追åŠ?�—ますã?
863 * @og.rev 3.5.4.8 (2004/02/23) ViewParamTag のパラメータを追åŠ?�—ますã?
864 * @og.rev 3.5.5.8 (2004/05/20) useConsistency 属æ?を追åŠ?�—ますã?
865 * @og.rev 3.5.6.2 (2004/07/05) bgColorCycle 変数の追åŠ??
866 * @og.rev 3.5.6.3 (2004/07/12) useScrollBar 変数の追åŠ??
867 * @og.rev 3.6.0.0 (2004/09/17) sortKeys 変数の追åŠ??カラãƒ?‚½ートリンクをå?すカラãƒ?��を指定ã?
868 * @og.rev 3.6.0.4 (2004/10/14) loadMarker 変数の追åŠ??
869 * @og.rev 3.7.0.1 (2005/01/31) 全件チェãƒ?‚¯コントロール変更(useCheckControl)
870 * @og.rev 3.7.1.1 (2005/05/23) SEL_ROW機è?の有効/無効を指定しますã?
871 * @og.rev 3.7.1.1 (2005/05/23) 処ç�?™‚間やペã?ジサイズなどのæƒ??出力ã?有効/無効を指定しますã?
872 * @og.rev 3.8.0.9 (2005/10/17) writableControl 属æ?を追åŠ?�—ますã?
873 * @og.rev 3.8.6.0 (2006/09/29) useHilightRow 属æ?を追åŠ?�—ますã?
874 * @og.rev 3.8.6.1 (2006/10/20) editMarkerId , popupReturnKeys属æ?を追åŠ?�—ますã?
875 * @og.rev 4.3.0.0 (2008/07/04) fileUD ファイルãƒ?‚¦ンロード時の抜å?カラãƒ?��(CSV形å¼?
876 * @og.rev 4.3.1.0 (2008/09/08) isSkipNoEdit属æ?対å¿?
877 * @og.rev 4.3.3.0 (2008/10/01) noTransition 属æ?を追åŠ?�—ますã?
878 * @og.rev 4.3.7.0 (2009/06/01) useHilightCheckOnly 属æ?を追åŠ?�—ますã?
879 * @og.rev 5.1.6.0 (2010/05/01) clmSeqDisplay 属æ?を追åŠ?�—ますã?
880 * @og.rev 5.1.8.0 (2010/07/01) noGroup , noGroup 属æ?を追åŠ?�—ますã?
881 * @og.rev 5.1.8.0 (2010/07/01) bgColorClsClm 属æ?を追åŠ?�—ますã?
882 * @og.rev 5.2.1.0 (2010/10/01) ä¸?‹¬入力カラãƒ??アシスト機è?を利用する、columnBulkSet 属æ?を追åŠ?�—ますã?
883 * @og.rev 5.5.9.0 (2012/12/03) viewArrayList追åŠ?
884 */
885 @Override
886 protected void release2() {
887 super.release2();
888 tableId = HybsSystem.TBL_MDL_KEY;
889 viewFormId = HybsSystem.VIEWFORM_KEY;
890 viewFormType = null;
891 viewLinkId = HybsSystem.VIEWLINK_KEY;
892 viewMarkerId = HybsSystem.VIEW_MARK_KEY;
893 editMarkerId = HybsSystem.EDIT_MARK_KEY; // 3.8.6.1 (2006/10/20)
894 command = null;
895 startNo = -1; // HTML画面上ã?表示開始位置(初期値)
896 tempStartNo = -1; // 再検索時ã?表示開始位置
897 pageSize = -1; // HTML画面上に表示する件数
898 pagePlus = -1; // 3.5.6.4 (2004/07/16)
899 table = null;
900 form = null;
901 columnWritable = null;
902 noWritable = null;
903 columnDisplay = null;
904 noDisplay = null;
905 clmSeqDisplay = null; // 5.1.6.0 (2010/05/01) ViewForm_HTMLSeqClmTable 対å¿?
906 columnGroup = null; // 3.8.5.0 (2006/03/20)
907 noGroup = null; // 5.1.8.0 (2010/07/01)
908 groupClass = null; // 5.1.8.0 (2010/07/01)
909 noMessage = false;
910 writable = null;
911 checked = null;
912 skip = ViewForm.DEFAULT_SKIP;
913 rowspan = "2";
914 selectedType = "checkbox";
915 numberType = "sequence";
916 optTypeAttri = null;
917 // changeLabelKeys = null;
918 // changeLabelVals = null;
919 values = null;
920 backLinkCount = HybsSystem.sysInt( "VIEW_BACK_LINK_COUNT" );
921 headerSkipCount = HybsSystem.sysInt( "VIEW_HEADER_SKIP_COUNT" ); // 0:通常ヘッãƒ??n:n回ごとに現れる
922 bodyString = null;
923 useCheckControl = -1 ;
924 useTableSorter = null ; // 3.5.4.7 (2004/02/06)
925 dyStart = 0; // 3.5.4.7 (2004/02/06)
926 viewParam = null; // 3.5.4.8 (2004/02/23)
927 useParam = false; // 3.5.4.8 (2004/02/23)
928 useConsistency = HybsSystem.sysBool( "USE_CONSISTENCY" ); // 3.5.5.8 (2004/05/20)
929 bgColorCycle = 1 ; // 3.5.6.2 (2004/07/05)
930 bgColorClsClm = null; // 5.1.8.0 (2010/07/01)
931 useScrollBar = null;
932 sortKeys = null; // 3.6.0.0 (2004/09/17)
933 // loadMarker = ",NEW,RENEW,REVIEW,RESET"; // 3.6.0.4 (2004/10/14)
934 loadMarker = ",NEW,RENEW,REVIEW,RESET,"; // 4.0.0.0 (2007/11/26)
935 useSelectedRow = null;
936 useSelRowColor = null;
937 useAfterHtmlTag = true; // 3.7.1.1 (2005/05/23)
938 writableControl = null; // 3.8.0.9 (2005/10/17)
939 useHilightRow = null; // 3.8.6.0 (2006/09/29)
940 popupReturnKeys = null ; // 3.8.6.1 (2006/10/20)
941 clazz = "viewTable"; // 4.0.0 (2007/04/16)
942 height = null; // 4.2.0.0 (2008/03/18)
943 width = null; // 4.2.0.0 (2008/03/18)
944 fileDwnClms = null ; // 4.3.0.0 (2008/07/04)
945 skipNoEdit = false; // 4.3.1.0 (2008/09/08)
946 noTransition = false; // 4.3.3.0 (2008/10/01)
947 useHilightCheckOnly = null; // 4.3.7.0 (2009/06/01)
948 columnBulkSet = null; // 5.2.1.0 (2010/10/01)
949 useDefBulkset = HybsSystem.sysBool( "VIEW_USE_DEFAULT_BULKSET" ) ; // 5.2.1.0 (2010/10/01)
950 viewArrayList = null; // 5.5.9.0 (2012/12/03)
951 }
952
953 /**
954 * DBTableModel に対して、各種初期設定を行いますã?
955 *
956 */
957 // private void dbChangeLabel() {
958 // if( changeLabelKeys != null &&
959 // changeLabelVals != null &&
960 // changeLabelKeys.length != 0 &&
961 // changeLabelKeys.length == changeLabelVals.length ) {
962 //
963 // for( int i=0; i<changeLabelKeys.length; i++ ) {
964 // if( changeLabelKeys[i] != null &&
965 // changeLabelVals[i] != null &&
966 // changeLabelKeys[i].length() > 0 &&
967 // changeLabelVals[i].length() > 0 ) {
968 //
969 // int clmNo = table.getColumnNo( changeLabelKeys[i] );
970 // DBColumn dbColumn = table.getDBColumn( clmNo );
971 // DBColumnConfig config = dbColumn.getConfig();
972 // config.setLabelData( getResource().getLabelData( changeLabelVals[i] ) );
973 // table.setDBColumn( clmNo,new DBColumn( config ) ); // 4.0.0 (2005/01/31)
974 // }
975 // }
976 // }
977 // }
978
979 /**
980 * 左右åˆ?‰²スクロール(SplitViewTag)が存在すれば、パラメータの初期値設定などを行いますã?
981 *
982 * @og.rev 5.3.0.0 (2010/12/01) 左右åˆ?‰²スクロール(SplitViewTag)対å¿?
983 * @og.rev 5.5.4.0 (2012/07/02) 2回目のnoDisplayを追記型に変更
984 */
985 private void splitViewParamSet() {
986 SplitViewTag splitView = (SplitViewTag)findAncestorWithClass( this,SplitViewTag.class );
987 if( splitView != null ) {
988 String fixDisplay = splitView.getFixDisplay();
989 boolean isFirstStep = splitView.isFirstStep();
990
991 if( isFirstStep ) { // ?‘回目(左側:固定部)
992 // Viewタグの左側には、fixDisplay のカラãƒ?‚’ columnDisplay に設定するã?
993 columnDisplay = fixDisplay;
994 noDisplay = null;
995 }
996 else { // ?’回目(右側:可変部)
997 // Viewタグの右側には、command="VIEW" , noMessage="true" , useSelectedRow="false"
998 // numberType="delete" をセãƒ?ƒˆするとともに、fixDisplay のカラãƒ?‚’ noDisplay の
999 columnDisplay = null;
1000 // noDisplay = fixDisplay;
1001 if( noDisplay != null && noDisplay.length() > 0 ){
1002 noDisplay += ","+fixDisplay; // 5.5.4.0 (2012/07/02) カンマ区åˆ?‚Šで追記すã‚?
1003 }
1004 else{
1005 noDisplay = fixDisplay;
1006 }
1007
1008 command = "VIEW";
1009 numberType = "delete" ;
1010 noMessage = true;
1011 useSelectedRow = "false";
1012 }
1013 }
1014 }
1015
1016 /**
1017 * 【TAGã€?通常使ã�?�¾せん)sessionからæ‰?¾—すã‚?DBTableModelオブジェクトã? IDã€?
1018 *
1019 * @og.tag
1020 * 表示処ç�?¾Œに??å†?ƒ¨ポインタを書き換えた)DBTableModelオブジェクトを
1021 * 同じキーで、sessionに登録しますã?
1022 * 初期値は、HybsSystem.TBL_MDL_KEY ですã?
1023 *
1024 * @param id sessionに登録する時ã? ID
1025 */
1026 public void setTableId( final String id ) {
1027 tableId = nval( getRequestParameter( id ),tableId ); // 3.8.0.9 (2005/10/17)
1028 }
1029
1030 /**
1031 * 【TAGã€?通常使ã�?�¾せん)sessionから取得すã‚?ViewForm オブジェクトã? IDã€?
1032 *
1033 * @og.tag
1034 * 表示処ç�?¾Œに??å†?ƒ¨ポインタを書き換えた)ViewForm オブジェクトを
1035 * 同じキーで、sessionに登録しますã?
1036 * 初期値は、HybsSystem.VIEWFORM_KEY ですã?
1037 *
1038 * @og.rev 3.3.1.1 (2003/07/03) {@XXXX} 変数が使用できるように修正ã€?
1039 * @og.rev 3.5.6.4 (2004/07/16) VIEW_ID を付加して、他ã?id と混同しなã�?‚ˆã�?�«しますã?
1040 *
1041 * @param id ViewForm オブジェクãƒ?D
1042 */
1043 public void setViewFormId( final String id ) {
1044 String temp = getRequestParameter( id ) ;
1045 if( temp != null && temp.length() > 0 ) {
1046 viewFormId = temp + TaglibUtil.VIEW_ID;
1047 }
1048 }
1049
1050 /**
1051 * 【TAGã€?通常つかいません)requestから取得すã‚?ViewLink に対応すã‚?Attributes オブジェクトã? IDã€?
1052 *
1053 * @og.tag
1054 * ViewForm オブジェクトに、ViewLink オブジェクトをこã?キーより取得することによりã€?
1055 * カラãƒ?�«対して、リンクæƒ??を付加して表示させるã?
1056 * 初期値は、HybsSystem.VIEWLINK_KEY ですã?
1057 *
1058 * @og.rev 3.1.4.0 (2003/04/18) 初期値をè?慮して、属æ?登録を行うように変更ã€?
1059 * @og.rev 3.3.1.1 (2003/07/03) {@XXXX} 変数が使用できるように修正ã€?
1060 * @og.rev 3.5.6.4 (2004/07/16) LINK_ID を付加して、他ã?id と混同しなã�?‚ˆã�?�«しますã?
1061 *
1062 * @param id ViewLink オブジェクãƒ?D
1063 */
1064 public void setViewLinkId( final String id ) {
1065 String temp = getRequestParameter( id ) ;
1066 if( temp != null && temp.length() > 0 ) {
1067 viewLinkId = temp + TaglibUtil.LINK_ID;
1068 }
1069 }
1070
1071 /**
1072 * 【TAGã€?通常使ã�?�¾せん)requestから取得すã‚?ViewMarker に対応すã‚?Attributes オブジェクトã? IDã€?
1073 *
1074 * @og.tag
1075 * ViewForm オブジェクトに、ViewMarker オブジェクトをこã?キーより取得することによりã€?
1076 * カラãƒ?�«対して、ã?ーカーæƒ??を付加して表示させるã?
1077 * 初期値は、HybsSystem.VIEW_MARK_KEY ですã?
1078 *
1079 * @og.rev 3.1.4.0 (2003/04/18) 新規追åŠ?
1080 * @og.rev 3.3.1.1 (2003/07/03) {@XXXX} 変数が使用できるように修正ã€?
1081 * @og.rev 3.5.6.4 (2004/07/16) MARK_ID を付加して、他ã?id と混同しなã�?‚ˆã�?�«しますã?
1082 *
1083 * @param id ViewMarker オブジェクãƒ?D
1084 */
1085 public void setViewMarkerId( final String id ) {
1086 String temp = getRequestParameter( id ) ;
1087 if( temp != null && temp.length() > 0 ) {
1088 viewMarkerId = temp + TaglibUtil.MARK_ID;
1089 }
1090 }
1091
1092 /**
1093 * 【TAGã€?通常使ã�?�¾せん)requestから取得すã‚?EditMarker に対応すã‚?Attributes オブジェクトã? IDã€?
1094 *
1095 * @og.tag
1096 * ViewForm オブジェクトに、EditMarker オブジェクãƒ?実際は、ViewMarker オブジェクãƒ?ã‚?
1097 * こã?キーより取得することにより、カラãƒ?�«対して、ã?ーカーæƒ??を付加して表示させるã?
1098 * 初期値は、HybsSystem.EDIT_MARK_KEY ですã?
1099 *
1100 * @og.rev 3.8.6.1 (2006/10/20) 新規追åŠ?
1101 *
1102 * @param id EditMarker オブジェクãƒ?D(実際は、ViewMarker オブジェクãƒ?
1103 */
1104 public void setEditMarkerId( final String id ) {
1105 String temp = getRequestParameter( id ) ;
1106 if( temp != null && temp.length() > 0 ) {
1107 editMarkerId = temp + TaglibUtil.MARK_ID;
1108 }
1109 }
1110
1111 /**
1112 * 【TAG】ViewForm オブジェクトを作æ?するクラス({@og.doc03Link viewFormType ViewForm_**** クラスの ****})を指定しますã?
1113 *
1114 * @og.tag
1115 * これは、org.opengion.hayabusa.html 以下ã? ViewForm_**** クラスの **** ã‚?
1116 * 与えますã?これらã?、ViewForm インターフェースを継承したサブクラスですã?
1117 * 属æ?クラス定義の {@link org.opengion.hayabusa.html.ViewForm ViewForm} を参照願いますã?
1118 * {@og.doc03Link viewFormType ViewForm_**** クラス}
1119 *
1120 * @param id ViewForm タイãƒ?
1121 * @see org.opengion.hayabusa.html.ViewForm ViewFormのサブクラス
1122 */
1123 public void setViewFormType( final String id ) {
1124 viewFormType = getRequestParameter( id );
1125
1126 if( viewFormType == null || viewFormType.length() == 0 ) {
1127 String errMsg = "viewForm の id が設定されてã�?�¾せんã€?;
1128 throw new HybsSystemException( errMsg );
1129 }
1130 }
1131
1132 /**
1133 * 【TAG】コマンãƒ?PREV,NEXT,FIRST,LAST,NEW,RENEW,VIEW,REVIEW,RESET)をセãƒ?ƒˆしますã?
1134 *
1135 * @og.tag
1136 * コマンドã?,HTMLから(get/post)æŒ?®šされますã?で,CMD_xxx で設定される
1137 * フィールド定数値のã�?�¥れかをã?æŒ?®šできますã?
1138 *
1139 * @og.rev 3.8.0.8 (2005/10/03) そã?他ã?コマンドを CMD_XXX にしますã?
1140 *
1141 * @param cmd コマンãƒ?public static final 宣è¨?�•れてã�?‚‹æ–?—å?)
1142 * @see <a href="{@docRoot}/constant-values.html#org.opengion.hayabusa.taglib.ViewFormTag.CMD_PREV">コマンド定数</a>
1143 */
1144 public void setCommand( final String cmd ) {
1145 String cmd2 = getRequestParameter( cmd );
1146 if( cmd2 != null && cmd2.length() > 0 ) { command = cmd2.toUpperCase(Locale.JAPAN); }
1147
1148 if( command == null ||
1149 (command.trim()).length() == 0 ||
1150 ! check( command, COMMAND_LIST ) ) {
1151 // 3.8.0.8 (2005/10/03) そã?他ã?コマンドを CMD_XXX にしますã?
1152 command = CMD_XXX ;
1153 }
1154 }
1155
1156 /**
1157 * 【TAG】表示ãƒ??タを作æ?する場合ã?表示の開始行番号をセãƒ?ƒˆしますã?
1158 *
1159 * @og.tag
1160 * セãƒ?ƒˆされてã�?�ªã�??合ã??Œ変更しませんã€?
1161 *
1162 * @og.rev 3.0.1.3 (2003/03/11) startNo を隠しフィールドに持つ処ç�?‚’、追åŠ?
1163 *
1164 * @param no 表示開始行番号(先é?は ??
1165 */
1166 public void setStartNo( final String no ) {
1167 startNo = nval( getRequestParameter( no ),startNo );
1168 tempStartNo = startNo;
1169 }
1170
1171 /**
1172 * 【TAG】表示ãƒ??タを作æ?する場合ã??‘ã?ージの行数をセãƒ?ƒˆしますã?
1173 *
1174 * @og.tag
1175 * セãƒ?ƒˆされてã�?�ªã�??合ã??Œ変更しませんã€?
1176 *
1177 * @param sz ?‘ã?ージの行数
1178 */
1179 public void setPageSize( final String sz ) {
1180 pageSize = nval( getRequestParameter( sz ),pageSize );
1181 }
1182
1183 /**
1184 * 【TAG】1ã?ージの行数の増加åˆ?‚’セãƒ?ƒˆしまã�?初期値:0)ã€?
1185 *
1186 * @og.tag
1187 * セãƒ?ƒˆされてã�?�ªã�??合ã??Œï¼?増加なã�?ですã?
1188 *
1189 * @param pp ?‘ã?ージの行数
1190 */
1191 public void setPagePlus( final String pp ) {
1192 pagePlus = nval( getRequestParameter( pp ),pagePlus );
1193 }
1194
1195 /**
1196 * 【TAG】ã?ージの先é?へのリンクの間隔をセãƒ?ƒˆしまã�?
1197 * (初期値:VIEW_BACK_LINK_COUNT[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_BACK_LINK_COUNT}])ã€?
1198 *
1199 * @og.tag
1200 * 0 にセãƒ?ƒˆすると、リンクは作æ?されませんã€?
1201 * ãƒ??ブルのヘッãƒ??固定ができなã�?‚±ースでは、データ件数が多いと、登録ボタンが見えなくなりますã?
1202 * そã?場合ã?スクロールして上に上がるよりã?行番号に作æ?されリンクで、ä¸?°—に上に戻るほã�?�Œ早くå?ç�?�§きますã?
1203 * そã?場合ã?段çµ?�¿等してã�?‚‹とã€?–“隔を少なくしておくå¿?¦�が出てきますã?
1204 * ヘッãƒ??固定を利用する場合ã?、不要ですã?
1205 * (初期値:シスãƒ?ƒ 定数のVIEW_BACK_LINK_COUNT[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_BACK_LINK_COUNT}])ã€?
1206 *
1207 * @param blc リンクの間隔
1208 * @see org.opengion.hayabusa.common.SystemData#VIEW_BACK_LINK_COUNT
1209 */
1210 public void setBackLinkCount( final String blc ) {
1211 backLinkCount = nval( getRequestParameter( blc ),backLinkCount );
1212 }
1213
1214 /**
1215 * 【TAG】ã?ãƒ?ƒ€ーをå?力する間隔をセãƒ?ƒˆしまã�?
1216 * (初期値:VIEW_HEADER_SKIP_COUNT[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_HEADER_SKIP_COUNT}])ã€?
1217 *
1218 * @og.tag
1219 * 0を指定すると、繰り返しません(つまりã?ヘッãƒ??を最初に表示するã�?�‘ですã?)
1220 * 数字をæŒ?®šすると、その回数毎に、ã?ãƒ?ƒ€ーをデータの行に挿入しますã?
1221 * (初期値:シスãƒ?ƒ 定数のVIEW_HEADER_SKIP_COUNT[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_HEADER_SKIP_COUNT}])ã€?
1222 *
1223 * @og.rev 3.5.2.0 (2003/10/20) 新規作æ?
1224 *
1225 * @param hsc ヘッãƒ??の表示間隔 ( 0:通常ヘッãƒ??n:n回ごとに現れる )
1226 * @see org.opengion.hayabusa.common.SystemData#VIEW_HEADER_SKIP_COUNT
1227 */
1228 public void setHeaderSkipCount( final String hsc ) {
1229 headerSkipCount = nval( getRequestParameter( hsc ),headerSkipCount );
1230 }
1231
1232 /**
1233 * 【TAG】書き込み可能カラãƒ?��をã?カンマ区åˆ?‚Šで与えますã?
1234 *
1235 * @og.tag
1236 * これは、書き込み不可カラãƒ?��のæŒ?®?noWritable)と同時にセãƒ?ƒˆする
1237 * ことは出来ませんã€?
1238 * <del>なおã?カラãƒ?��の代わりにã€?null" を指定すると、なにも指定しなã�?�“と
1239 * になりますã?つまりã?noWritable にすべてのカラãƒ?‚’æŒ?®šすることと
1240 * 同じになりますã?(ãƒ?ƒ•ォルトなので、あまり意味はありませんã€?</del>
1241 * "*" を指定すると、すべてのカラãƒ?‚’(columnWritable)æŒ?®šしたことになりますã?
1242 *
1243 * @og.rev 3.3.1.1 (2003/07/03) {@XXXX} 変数が使用できるように修正ã€?
1244 * @og.rev 4.1.2.0 (2008/03/12) 引数にã€?null" を指定可能とするã€?
1245 * @og.rev 4.2.1.0 (2008/04/11) null チェãƒ?‚¯方法変更
1246 * @og.rev 4.2.1.1 (2008/04/30) 引数にA,B,{@XXXX}等がæŒ?®šされた場合に{@XXXX}の変換が行われなã�?ƒ�グを修正
1247 * @og.rev 5.1.8.0 (2010/07/01) noWritable 同時セãƒ?ƒˆチェãƒ?‚¯をã?メソãƒ?ƒ‰ではなくã?本体で行うã€?
1248 *
1249 * @param columnName 例ï¼?OYA,KO,HJO,SU,DYSET,DYUPD"
1250 * @see #setNoWritable( String )
1251 */
1252 public void setColumnWritable( final String columnName ) {
1253 columnWritable = nval( getRequestParameter(columnName),null );
1254 if( "null".equalsIgnoreCase( columnWritable ) ) { columnWritable = ""; }
1255
1256 // if( noWritable == null || noWritable.length() == 0 ) {
1257 // columnWritable = nval( getRequestParameter(columnName),null );
1258 // }
1259 // else {
1260 // String errMsg = "すでに noWritable が設定されてã�?�¾すã?[" + noWritable + "]";
1261 // throw new HybsSystemException( errMsg );
1262 // }
1263 //
1264 // if( "null".equalsIgnoreCase( columnWritable ) ) { columnWritable = ""; }
1265
1266 //// if( columnName != null && columnName.startsWith( "{@" ) ) {
1267 // if( columnName != null && columnName.indexOf( "{@" ) >= 0 ) {
1268 // columnWritable = nval( getRequestParameter(columnName),null );
1269 // }
1270 // else {
1271 // columnWritable = columnName ;
1272 // }
1273 //
1274 // if( "null".equalsIgnoreCase( columnWritable ) ) { columnWritable = ""; }
1275 //
1276 //// if( noWritable == null || noWritable.length() == 0 ) {
1277 //// columnWritable = nval( getRequestParameter(columnName),"" );
1278 //// }
1279 //// else {
1280 //// if( !"null".equalsIgnoreCase( noWritable ) ) {
1281 //// String errMsg = "すでに noWritable が設定されてã�?�¾すã?[" + noWritable + "]";
1282 //// throw new HybsSystemException( errMsg );
1283 //// }
1284 //// }
1285 }
1286
1287 /**
1288 * 【TAG】書き込み不可カラãƒ?��をã?カンマ区åˆ?‚Šで与えますã?
1289 *
1290 * @og.tag
1291 * これは、書き込み可能カラãƒ?��のæŒ?®?columnWritable)と同時にセãƒ?ƒˆする
1292 * ことは出来ませんã€?
1293 * <del>なおã?カラãƒ?��の代わりにã€?null" を指定すると、なにも指定しなã�?�“と
1294 * になりますã?つまりã?columnWritable にすべてのカラãƒ?‚’æŒ?®šすることと
1295 * 同じになりますã?</del>
1296 * "*" を指定すると、すべてのカラãƒ?‚’(noWritable)æŒ?®šしたことになりますã?
1297 *
1298 * @og.rev 3.3.1.1 (2003/07/03) {@XXXX} 変数が使用できるように修正ã€?
1299 * @og.rev 4.1.2.0 (2008/03/12) 引数にã€?null" を指定可能とするã€?
1300 * @og.rev 4.2.1.0 (2008/04/11) null チェãƒ?‚¯方法変更
1301 * @og.rev 4.2.1.1 (2008/04/30) 引数にA,B,{@XXXX}等がæŒ?®šされた場合に{@XXXX}の変換が行われなã�?ƒ�グを修正
1302 * @og.rev 5.1.8.0 (2010/07/01) noWritable 同時セãƒ?ƒˆチェãƒ?‚¯をã?メソãƒ?ƒ‰ではなくã?本体で行うã€?
1303 *
1304 * @param columnName 例ï¼?OYA,KO,HJO,SU,DYSET,DYUPD"
1305 * @see #setColumnWritable( String )
1306 */
1307 public void setNoWritable( final String columnName ) {
1308 noWritable = nval( getRequestParameter(columnName),null );
1309 if( "null".equalsIgnoreCase( noWritable ) ) { noWritable = ""; }
1310
1311 // if( columnWritable == null || columnWritable.length() == 0 ) {
1312 // noWritable = nval( getRequestParameter(columnName),null );
1313 // }
1314 // else {
1315 // String errMsg = "すでに columnWritable が設定されてã�?�¾すã?[" + columnWritable + "]";
1316 // throw new HybsSystemException( errMsg );
1317 // }
1318 //
1319 // if( "null".equalsIgnoreCase( noWritable ) ) { noWritable = ""; }
1320
1321 //// if( columnName != null && columnName.startsWith( "{@" ) ) {
1322 // if( columnName != null && columnName.indexOf( "{@" ) >= 0 ) {
1323 // noWritable = nval( getRequestParameter(columnName),null );
1324 // }
1325 // else {
1326 // noWritable = columnName ;
1327 // }
1328 //
1329 // if( "null".equalsIgnoreCase( noWritable ) ) { noWritable = ""; }
1330 //
1331 //// if( columnWritable == null || columnWritable.length() == 0 ) {
1332 //// noWritable = nval( getRequestParameter(columnName),"" );
1333 //// }
1334 //// else {
1335 //// if( !"null".equalsIgnoreCase( columnWritable ) ) {
1336 //// String errMsg = "すでに columnWritable が設定されてã�?�¾すã?[" + columnWritable + "]";
1337 //// throw new HybsSystemException( errMsg );
1338 //// }
1339 //// }
1340 }
1341
1342 /**
1343 * 【TAG】表示可能カラãƒ?��をã?カンマ区åˆ?‚Šで与えますã?
1344 *
1345 * @og.tag
1346 * これは、表示不可カラãƒ?��のæŒ?®?noDisplay)と同時にセãƒ?ƒˆする
1347 * ことは出来ませんã€?
1348 * "*" を指定すると、すべてのカラãƒ?‚’(columnDisplay)æŒ?®šしたことになりますã?
1349 *
1350 * @og.rev 3.3.1.1 (2003/07/03) {@XXXX} 変数が使用できるように修正ã€?
1351 * @og.rev 5.1.8.0 (2010/07/01) noWritable 同時セãƒ?ƒˆチェãƒ?‚¯をã?メソãƒ?ƒ‰ではなくã?本体で行うã€?
1352 *
1353 * @param columnName 例ï¼?OYA,KO,HJO,SU,DYSET,DYUPD"
1354 * @see #setNoDisplay( String )
1355 */
1356 public void setColumnDisplay( final String columnName ) {
1357 columnDisplay = nval( getRequestParameter(columnName),null );
1358 if( "null".equalsIgnoreCase( columnDisplay ) ) { columnDisplay = ""; }
1359
1360 // if( noDisplay == null ) {
1361 // this.columnDisplay = nval( getRequestParameter(columnName),"" );
1362 // }
1363 // else {
1364 // String errMsg = "すでに noDisplay が設定されてã�?�¾すã?[" + noDisplay + "]";
1365 // throw new HybsSystemException( errMsg );
1366 // }
1367 }
1368
1369 /**
1370 * 【TAG】表示不可カラãƒ?��をã?カンマ区åˆ?‚Šで与えますã?
1371 *
1372 * @og.tag
1373 * これは、表示可能カラãƒ?��のæŒ?®?columnDisplay)と同時にセãƒ?ƒˆする
1374 * ことは出来ませんã€?
1375 * "*" を指定すると、すべてのカラãƒ?‚’(noDisplay)æŒ?®šしたことになりますã?
1376 *
1377 * @og.rev 3.3.1.1 (2003/07/03) {@XXXX} 変数が使用できるように修正ã€?
1378 * @og.rev 5.1.8.0 (2010/07/01) noWritable 同時セãƒ?ƒˆチェãƒ?‚¯をã?メソãƒ?ƒ‰ではなくã?本体で行うã€?
1379 *
1380 * @param columnName 例ï¼?OYA,KO,HJO,SU,DYSET,DYUPD"
1381 * @see #setColumnDisplay( String )
1382 */
1383 public void setNoDisplay( final String columnName ) {
1384 noDisplay = nval( getRequestParameter(columnName),null );
1385 if( "null".equalsIgnoreCase( noDisplay ) ) { noDisplay = ""; }
1386
1387 // if( columnDisplay == null ) {
1388 // this.noDisplay = nval( getRequestParameter(columnName),"" );
1389 // }
1390 // else {
1391 // String errMsg = "すでに columnDisplay が設定されてã�?�¾すã?[" + columnDisplay + "]";
1392 // throw new HybsSystemException( errMsg );
1393 // }
1394 }
1395
1396 /**
1397 * 【TAG】表示可能カラãƒ?��をã?カラãƒ??に、カンマ区åˆ?‚Šで与えますã?
1398 *
1399 * @og.tag
1400 * これは、ViewForm_HTMLSeqClmTable 用に特別に用意された属æ?ですã?
1401 * 機è?çš?�«は、columnDisplay 属æ?で、カラãƒ??表示é ?�¾でæŒ?®šできる機è?ã‚?
1402 * 用意すべきですがã€?�Ž去のタグとの互換性の関係で、別に用意してã�?�¾すã?
1403 * (こã?属æ?を使用するとã€??常の表示より、å?ç�??度が低下しますã?)
1404 * 例ï¼?OYA,KO,HJO,SU,DYSET,DYUPD" こã?é ?•ªで表示され、指定以外ã?カラãƒ??表示されませんã€?
1405 *
1406 * @og.rev 5.1.6.0 (2010/05/01) clmSeqDisplay 属æ?を追åŠ?�—ますã?
1407 *
1408 * @param columnName カラãƒ?��
1409 */
1410 public void setClmSeqDisplay( final String columnName ) {
1411 clmSeqDisplay = nval( getRequestParameter(columnName),null );
1412 }
1413
1414 /**
1415 * 【TAG】同ä¸?¡¨示ãƒ??タをまとめる(表示しなã�?カラãƒ?��をã?カンマ区åˆ?‚Šで与えますã?
1416 *
1417 * @og.tag
1418 * これは、カラãƒ??グループ化æŒ?®šを行いますã?
1419 * 同じカラãƒ?•ª号でä¸?�¤上ã?行番号と同じå†?®¹の場合に、特殊な表示方法で表示しますã?
1420 * 対応ã?、表示(Renderer)時ã?みとしますã?
1421 * 特殊な表示方法ã?æŒ?®šã?、groupClass 属æ?でæŒ?®šしますã?
1422 * (例:groupClass にアルファベット以外ã?æ–?—ã?・そã?まま表示、アルファベットã?クラス属æ?を付与しますã?)
1423 * カラãƒ?�˜位なので、新しいゼブラによる色åˆ?�‘は行いませんã€?任意ã?カラãƒ?�«適用できる為)
1424 * またã?ファイル出力などのãƒ??タ自身は変更されてã�?�¾せんので、そのままãƒ??タが落ちますã?
1425 *
1426 * これは、同ä¸?¡¨示ãƒ??タをまとめなã�?‚«ラãƒ?��のæŒ?®?noGroup)と同時にセãƒ?ƒˆする
1427 * ことは出来ませんã€?
1428 * "*" を指定すると、すべてのカラãƒ?‚’(columnGroup)æŒ?®šしたことになりますã?
1429 *
1430 * @og.rev 3.8.5.0 (2006/03/20) 新規追åŠ?
1431 * @og.rev 5.1.8.0 (2010/07/01) noWritable 同時セãƒ?ƒˆチェãƒ?‚¯をã?メソãƒ?ƒ‰ではなくã?本体で行うã€?
1432 *
1433 * @param group 例ï¼?OYA,KO,HJO,SU,DYSET,DYUPD"
1434 * @see #setNoGroup( String )
1435 * @see #setGroupClass( String )
1436 */
1437 public void setColumnGroup( final String group ) {
1438 columnGroup = nval( getRequestParameter( group ),null );
1439 if( "null".equalsIgnoreCase( columnGroup ) ) { columnGroup = ""; }
1440
1441 // if( noGroup == null || noGroup.length() == 0 ) {
1442 // columnGroup = nval( getRequestParameter(group),null );
1443 // }
1444 // else {
1445 // String errMsg = "すでに noGroup が設定されてã�?�¾すã?[" + noGroup + "]";
1446 // throw new HybsSystemException( errMsg );
1447 // }
1448 }
1449
1450 /**
1451 * 【TAG】同ä¸?¡¨示ãƒ??タをまとめなã�?‚«ラãƒ?��をã?カンマ区åˆ?‚Šで与えますã?
1452 *
1453 * @og.tag
1454 * これは、カラãƒ??グループ化æŒ?®šで、同ä¸?�§もまとめなã�?‚«ラãƒ?‚’æŒ?®šするほã�?�Œ簡単な場合に
1455 * 使用しますã?例えば、キーæƒ??以外ã?、グループ化æŒ?®šしたい場合などに便利ですã?
1456 * 動作ã?、columnGroup の動きと同じですã?(まとめなã�?‚«ラãƒ?‚’æŒ?®šするだけですã?)
1457
1458 * これは、同ä¸?¡¨示ãƒ??タをまとめるカラãƒ?��のæŒ?®?columnGroup)と同時にセãƒ?ƒˆする
1459 * ことは出来ませんã€?
1460 * "*" を指定すると、すべてのカラãƒ?‚’(noGroup)æŒ?®šしたことになりますã?
1461 *
1462 * @og.rev 5.1.8.0 (2010/07/01) 新規追åŠ?
1463 *
1464 * @param group 例ï¼?OYA,KO,HJO,SU,DYSET,DYUPD"
1465 * @see #setColumnGroup( String )
1466 * @see #setGroupClass( String )
1467 */
1468 public void setNoGroup( final String group ) {
1469 noGroup = nval( getRequestParameter( group ),null );
1470 if( "null".equalsIgnoreCase( noGroup ) ) { noGroup = ""; }
1471 }
1472
1473 /**
1474 * 【TAG】同ä¸?¡¨示ãƒ??タをまとめる場合ã?、表示方法をæŒ?®šしますã?
1475 *
1476 * @og.tag
1477 * これは、カラãƒ??グループ化æŒ?®?columnGroup)を行う場合ã?、まとめ表示の方法をæŒ?®šしますã?
1478 * なにも指定しなã�??合ã?、まとめカラãƒ??、表示しなã�?ゼロæ–?—å?)になりますã?
1479 * そã?場合ã?先ã?行と同じ場合も、変更されたカラãƒ?�Œ、NULL(ゼロæ–?—å?)であったå?合もã€?
1480 * 同じ用に表示されるためã?区別が付きませんã€?
1481 * そこで、前の行と同じãƒ??タの場合に、特殊な処ç�?‚’行うことで、区別できるようにしますã?
1482 * æŒ?®š方法が特殊なので、注意がå¿?¦�ですã?
1483 * 記号の場合ï¼?
1484 * 記号(-- , â†?, â†?, * など)が指定された場合ã?、そのままのæ–?—に置き換えられますã?
1485 * 初期値は、空æ–?—å?(ゼロæ–?—å?)ですã?
1486 * アルファベットã?場合ï¼?
1487 * アルファベッãƒ?a-z,A-Z)の場合ã?ã€?lt;span class="アルファベッãƒ?>å…??æ–??lt;/span>
1488 * 例えば、バãƒ?‚¯カラーに色を付けるã?æ–?—をè–?�„灰色にする、などできますã?
1489 * ただしã?ãƒ??タ量が圧倒的に増えるためã?大量ã?ãƒ??タ等で使用するのは避けたほã�?�Œ良ã�?�¨思いますã?
1490 *
1491 * @og.rev 3.8.5.0 (2006/03/20) 新規追åŠ?
1492 *
1493 * @param grpCls まとめ表示の方æ³?
1494 */
1495 public void setGroupClass( final String grpCls ) {
1496 groupClass = nval( getRequestParameter(grpCls),null );
1497 }
1498
1499 /**
1500 * 【TAG】カラãƒ?��リンクソートを表示するカラãƒ?��をã?カンマ区åˆ?‚Šで与えますã?
1501 *
1502 * @og.tag
1503 * ヘッãƒ??にソート用リンクを作æ?する useTableSorter 属æ? に対してã€?
1504 * カラãƒ??別に作æ?する場合ã?カラãƒ?��をカンマ区åˆ?‚Šæ–?—でæŒ?®šしますã?
1505 * こã? sortKeys 属æ?は、useTableSorter 属æ? と無関係に、指定しã�?
1506 * カラãƒ??み、リンクを表示しますã?
1507 * "*" を指定すると、すべてのカラãƒ?‚’(tableSorterKeys)æŒ?®šしたことになりますã?
1508 * 例ï¼?OYA,KO,HJO,SU,DYSET,DYUPD"
1509 *
1510 * @og.rev 3.6.0.0 (2004/09/17) 新規作æ?
1511 *
1512 * @param columnName カラãƒ?��
1513 */
1514 public void setTableSorterKeys( final String columnName ) {
1515 sortKeys = nval( getRequestParameter(columnName),null );
1516 }
1517
1518 /**
1519 * 【TAG】検索結果メãƒ?‚»ージを表示しなã�?�‹どã�?�‹[true/false]を設定しまã�?初期値:false[表示する])ã€?
1520 *
1521 * @og.tag
1522 * 初期値は、表示する(true以å¤?ですã?
1523 *
1524 * @param flag 検索結果メãƒ?‚»ージの制御 [true:表示しなã�?それ以å¤?表示する]
1525 */
1526 public void setNoMessage( final String flag ) {
1527 noMessage = nval( getRequestParameter( flag ),noMessage );
1528 }
1529
1530 /**
1531 * 【TAG】行が書き込み可能かどã�?�‹[true/false]を設定しまã�?
1532 * (初期値:DBTableModel#DEFAULT_WRITABLE[={@og.value DBTableModel#DEFAULT_WRITABLE}])ã€?
1533 *
1534 * @og.tag
1535 * 書込み許可する場合ã?, true、許可しなã�??合ã?, true 以外を設定しますã?
1536 * ここで、false を設定すると全行書込み禁止になりますã?true を設定しã�?
1537 * 場合ã?ãƒ?ƒ•ォルトで書込み許可が与えられ、å?頭カラãƒ?�Œ writable であればã€?
1538 * そã?値を取り込んで、行ごとの書込み許可/不許可が決定されますã?
1539 * writable,checked,useCheckControl につã�?�¦は、writable が最優先で
1540 * 次に、useCheckControl="2"(またã?、checked)、次に、checked を判定しますã?
1541 * checked="true"の場合ã?、useCheckControl がã?"1"(true)以上ã?場合ã?
1542 * "2"(checked)に設定されますã?
1543 * (初期値:DBTableModel#DEFAULT_WRITABLE[={@og.value DBTableModel#DEFAULT_WRITABLE}])ã€?
1544 *
1545 * @param flag [true:書込み許可/true以å¤?書込み禁止]
1546 * @see org.opengion.hayabusa.db.DBTableModel#DEFAULT_WRITABLE
1547 */
1548 public void setWritable( final String flag ) {
1549 writable = getRequestParameter( flag );
1550 }
1551
1552 /**
1553 * ãƒ??ブルãƒ??タに書込み許可?�チェãƒ?‚¯状態を設定しますã?
1554 *
1555 * @og.rev 3.6.0.0 (2004/09/17) writable ã�?false の場合å?件チェãƒ?‚¯用チェãƒ?‚¯ボックスをå?さなã�??
1556 * @og.rev 3.7.0.1 (2005/01/31) 全件チェãƒ?‚¯コントロールのロジãƒ?‚¯変更(useCheckControl)
1557 * @og.rev 3.8.8.5 (2007/03/09) 全件チェãƒ?‚¯(useCheckControl)と、å?別チェãƒ?‚¯(checked)の整合æ?
1558 * @og.rev 5.5.5.6 (2012/08/31) ユーザーと画面の関係が、リードオンリーの場合ã?、writable=falseをå?部設定するã?
1559 * @og.rev 5.5.6.1 (2012/09/03) writable自動セãƒ?ƒˆはæŒ?®šコマンドã?み
1560 *
1561 * @param table DBTableModelオブジェクãƒ?
1562 */
1563 private void setTableRowWritable( final DBTableModel table ) {
1564
1565 // 5.5.5.6 (2012/08/31) リードオンリーの場合ã?、writable=falseをå?部設定するã?
1566 // こã?タグで、writable が指定された場合ã?、そちらを優先するã?(つまりã?null の場合ã?、å?部設定するã?)
1567 // 5.5.6.1 (2012/09/03) こã?処ç�?‚’行うのはæŒ?®šコマンドã?み
1568 // if( writable == null || writable.length() == 0 ) {
1569 if( ( writable == null || writable.length() == 0 ) && check( command, COMMAND_LIST ) ) {
1570 GUIInfo guiInfo = (GUIInfo)getSessionAttribute( HybsSystem.GUIINFO_KEY );
1571 if ( ! guiInfo.isWrite() ){
1572 writable = "FALSE" ;
1573 }
1574 }
1575
1576 if( writable != null && writable.length() > 0 ) {
1577 boolean flag = "TRUE".equalsIgnoreCase( writable );
1578 table.setDefaultRowWritable( flag );
1579 if( ! flag ) { useCheckControl = 0; } // 3.7.0.1 (2005/01/31)
1580 }
1581
1582 // 全チェãƒ?‚¯ONの場合ã?、å?別チェãƒ?‚¯もONにするã€?
1583 if( useCheckControl == 2 ) { checked = "true"; } // 3.8.8.5 (2007/03/09)
1584
1585 if( checked != null && checked.length() > 0 ) {
1586 boolean flag = "TRUE".equalsIgnoreCase( checked );
1587 table.setDefaultRowChecked( flag );
1588 // 個別チェãƒ?‚¯ONの場合ã?、å?チェãƒ?‚¯もONにするã€?
1589 if( flag && useCheckControl >= 1 ) { useCheckControl = 2; } // 3.8.8.5 (2007/03/09)
1590 }
1591 }
1592
1593 /**
1594 * 【TAG】行ã?チェãƒ?‚¯ボックスの初期値を設定するかどã�?�‹[true/false]を指定しまã�?初期値:null)ã€?
1595 *
1596 * @og.tag
1597 * 書き込み可能なè¡?rowWritable == true)のチェãƒ?‚¯ボックスに対して
1598 * 初期値ã‚?選択済みにするかã?非選択済みにするかをæŒ?®šしますã?
1599 * writable,checked,useCheckControl につã�?�¦は、writable が最優先で
1600 * 次に、useCheckControl="2"(またã?、checked)、次に、checked を判定しますã?
1601 * checked="true"の場合ã?、useCheckControl がã?"1"(true)以上ã?場合ã?
1602 * "2"(checked)に設定されますã?
1603 *
1604 * @param flag [true:書込み許可/それ以å¤?書込み禁止]
1605 */
1606 public void setChecked( final String flag ) {
1607 checked = getRequestParameter( flag );
1608 }
1609
1610 /**
1611 * 【TAG】NEXT等でã€?�¸択行以外をスキãƒ??するのかどã�?�‹[true/false]を指定しまã�?
1612 * (初期値:ViewForm#DEFAULT_SKIP[={@og.value ViewForm#DEFAULT_SKIP}])ã€?
1613 *
1614 * @og.tag
1615 * 明細æƒ??の登録/編é›?™‚に、å¿?¦�な個所のみをé?番に処ç�?�™るå?合に使用しますã?
1616 * (初期値:ViewForm#DEFAULT_SKIP[={@og.value ViewForm#DEFAULT_SKIP}])ã€?
1617 *
1618 * @param flag スキãƒ?? [true:する/それ以å¤?しない]
1619 * @see org.opengion.hayabusa.html.ViewForm#DEFAULT_SKIP
1620 */
1621 public void setSkip( final String flag ) {
1622 skip = nval( getRequestParameter( flag ),skip );
1623 }
1624
1625 /**
1626 * 【TAG】表示ãƒ??タを作æ?する場合ã?フォーマットã?行数をセãƒ?ƒˆしまã�?初期値:2)ã€?
1627 *
1628 * @og.tag 表示ãƒ??タを作æ?する場合ã?フォーマットã?行数をセãƒ?ƒˆしますã?
1629 *
1630 * @og.rev 3.3.1.1 (2003/07/03) {@XXXX} 変数が使用できるように修正ã€?
1631 *
1632 * @param rowspan フォーマットã?行数
1633 */
1634 public void setRowspan( final String rowspan ) {
1635 this.rowspan = getRequestParameter(rowspan);
1636 }
1637
1638 /**
1639 * 【TAG】表示時ã?選択用オブジェクトã?タイプ[checkbox/radio/hidden]を指定しまã�?初期値:checkbox)ã€?
1640 *
1641 * @og.tag
1642 * è¤?•°選択可能時ã? "checkbox" を指定しますã?
1643 * ä¸?�¤ã�?�‘選ばせる場合ã?, "radio" を指定しますã?
1644 * éš?�—フィールドで全件を選ぶ場合ã?ã€?hidden" を指定しますã?
1645 * 初期値はã€?checkbox" ですã?
1646 *
1647 * @og.rev 3.3.1.1 (2003/07/03) {@XXXX} 変数が使用できるように修正ã€?
1648 *
1649 * @param type 選択用オブジェクトã?タイプ[checkbox:è¤?•°選æŠ?radio:ä¸?�¤ã�?�‘/hidden:全件選択]
1650 */
1651 public void setSelectedType( final String type ) {
1652 selectedType = nval( getRequestParameter(type),selectedType );
1653 }
1654
1655 /**
1656 * 【TAG】表示時ã?行番号の表示方法[sequence/none/delete/skip=カラãƒ?��/view=カラãƒ?��]を指定しまã�?初期値:sequence)ã€?
1657 *
1658 * @og.tag
1659 * ・sequenceはã€?¼‘から始まるé?番ですã?
1660 * ・none を指定すると、番号は表示されませんã€?
1661 * ・delete を指定すると、行番号表示そã?もã?のタグを取り除きますã?(3.5.5.0 追åŠ?
1662 * ・skip=カラãƒ?��を指定すると、そのカラãƒ??値ã�?NULL の場合ã?、番号をスキãƒ??しますã?
1663 * ・view=カラãƒ?��を指定すると、そのカラãƒ??値がã?使用されますã?(ラベルは付きません)
1664 * skip=XX と、view=XX はã€?の前後にスペã?スをå?れなã�?�§下さã�??
1665 * 初期値はã€?sequence" ですã?
1666 *
1667 * @og.rev 3.5.1.0 (2003/10/03) 新規作æ?
1668 *
1669 * @param type 行番号の表示方法ã?タイãƒ?[sequence:連番/none:非表示/delete:タグ削除/skip=カラãƒ?��/view=カラãƒ?��]
1670 */
1671 public void setNumberType( final String type ) {
1672 numberType = nval( getRequestParameter(type),numberType );
1673 }
1674
1675 /**
1676 * 【TAG】テーブル等ã?チェãƒ?‚¯ボックスに属æ?を付加しますã?
1677 *
1678 * @og.tag
1679 * JavaScript などの HTML基本タグ以外ã?属æ?をã?そã?まま
1680 * チェãƒ?‚¯ボックス/ラジオボタン等に使用しますã?
1681 * そã?ときにã€?')はã€?")に置き換えますã?
1682 *
1683 * @param attributes HTML基本タグ以外ã?属æ?
1684 */
1685 public void setOptionTypeAttributes( final String attributes ) {
1686 String optAttri = getRequestParameter( attributes );
1687 if( optAttri != null && optAttri.length() > 0 ) {
1688 optTypeAttri = optAttri.replace( '\'', '\"' );
1689 }
1690 }
1691
1692 // /**
1693 // * 【å»?¢】表示時ã?ラベルを変更する時ã?カラãƒ?‚ー(参ç??šcolumnEditor タグ)ã€?
1694 // *
1695 // * @og.tag
1696 // * changeLabelVal とセãƒ?ƒˆで使用されますã?
1697 // * 通常のラベル定義されてã�?‚‹é ?›®と置き換えたã�??合ã?ã€?
1698 // * ?³?±?¬æ–??仮é ?›®でæŒ?®šしますã?
1699 // * åˆ?§£方法ã?、CSV変数をå?にåˆ?§£してから、getRequestParameter で値を取得しますã?
1700 // * こうしなã�?�¨ãƒ??タ自身にカンマを持ってã�?‚‹場合にåˆ?§£をミスる為ですã?
1701 // *
1702 // * @og.rev 3.5.6.2 (2004/07/05) 先に配å?にåˆ?§£してからリクエスト変数の値を取å¾?
1703 // *
1704 // * @param key カラãƒ?‚ー
1705 // * @deprecated columnEditor タグで、ラベルをå?れ替える方法で、代替してくださいã€?
1706 // */
1707 // @Deprecated public void setChangeLabelKeys( final String key ) {
1708 // changeLabelKeys = getCSVParameter( key );
1709 // }
1710
1711 // /**
1712 // * 【å»?¢】表示時ã?ラベルを変更する時ã?ラベル(参ç??šcolumnEditor タグ)ã€?
1713 // *
1714 // * @og.tag
1715 // * changeLabelKey とセãƒ?ƒˆで使用されますã?
1716 // * åˆ?§£方法ã?、CSV変数をå?にåˆ?§£してから、getRequestParameter で値を取得しますã?
1717 // * こうしなã�?�¨ãƒ??タ自身にカンマを持ってã�?‚‹場合にåˆ?§£をミスる為ですã?
1718 // *
1719 // * @og.rev 3.5.6.2 (2004/07/05) CommonTagSupport#getCSVParameter を使用
1720 // *
1721 // * @param val ラベル
1722 // * @deprecated columnEditor タグで、ラベルをå?れ替える方法で、代替してくださいã€?
1723 // */
1724 // @Deprecated public void setChangeLabelVals( final String val ) {
1725 // changeLabelVals = getCSVParameter( val );
1726 // }
1727
1728 /**
1729 * 【TAG】チェãƒ?‚¯ボックスの全チェãƒ?‚¯を選択するJavaScript の機è?を使用するかどã�?�‹を指定しまã�?
1730 * (初期値:VIEW_USE_CHECK_CONTROL[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_USE_CHECK_CONTROL}])ã€?
1731 *
1732 * @og.tag
1733 * "true" で、コントロール用のチェãƒ?‚¯ボックスが現れて、この機è?を使用することができるようになりますã?
1734 * false は、従来どおりですã?
1735 * 使用するにあたりã?jsp/commpn/default.js にJavaScriptを設定しておきますã?(設定済み)
1736 * false はã€?でも代用可能ですã?true はã€?でも代用可能ですã?
1737 * checked はã€?でも代用可能ですã?checked は、å?期å?をã?チェãƒ?‚¯済みにしますã?
1738 * 注意ï¼?,1,2,true,false,checked 以外ã?æ–?—をセãƒ?ƒˆすると、エラーが発生しますã?
1739 * writable,checked,useCheckControl につã�?�¦は、writable が最優先で
1740 * 次に、useCheckControl="2"(またã?、checked)、次に、checked を判定しますã?
1741 * checked="true"の場合ã?、useCheckControl がã?"1"(true)以上ã?場合ã?
1742 * "2"(checked)に設定されますã?
1743 * (初期値:ユーザー定数のVIEW_USE_CHECK_CONTROL[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_USE_CHECK_CONTROL}])ã€?
1744 *
1745 * @og.rev 3.5.4.3 (2004/01/05) 新規追åŠ?
1746 * @og.rev 3.7.0.1 (2005/01/31) 全件チェãƒ?‚¯コントロールのロジãƒ?‚¯変更(useCheckControl)
1747 *
1748 * @param flag チェãƒ?‚¯ボックスの全チェãƒ?‚¯を選択する機è?を使用するかどã�?�‹
1749 * (true,1:使用する/false,0:使用しなã�?checked,2:初期値チェãƒ?‚¯済み)
1750 * @see org.opengion.hayabusa.common.SystemData#VIEW_USE_CHECK_CONTROL
1751 */
1752 public void setUseCheckControl( final String flag ) {
1753 useCheckControl = intCase( getRequestParameter(flag) );
1754
1755 if( useCheckControl < 0 ) {
1756 String errMsg = "useCheckControl は、false(0)/true(1)/2 のã�?�šれかしか登録できませんã€?"
1757 + flag + "]";
1758 throw new HybsSystemException( errMsg );
1759 }
1760 }
1761
1762 /**
1763 * 【TAG】ã?ãƒ?ƒ€ーにソート用リンクを作æ?するかどã�?�‹[true/false]を指定しまã�?
1764 * (初期値:VIEW_USE_TABLE_SORTER[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_USE_TABLE_SORTER}])ã€?
1765 *
1766 * @og.tag
1767 * "true" で、ã?ãƒ?ƒ€ーにソート用リンクを作æ?しますã?
1768 * false は、従来どおりですã?
1769 * 検索済みのDBTableModelをã?メモリ上でソートし、å?表示させますã?
1770 * (初期値:ユーザー定数のVIEW_USE_TABLE_SORTER[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_USE_TABLE_SORTER}])ã€?
1771 *
1772 * @og.rev 3.5.4.7 (2004/02/06) 新規追åŠ?
1773 *
1774 * @param flag ヘッãƒ??にソート用リンクを作æ?するかどã�?�‹ [true:作æ?する/false:作æ?しない]
1775 * @see org.opengion.hayabusa.common.SystemData#VIEW_USE_TABLE_SORTER
1776 */
1777 public void setUseTableSorter( final String flag ) {
1778 useTableSorter = nval( getRequestParameter(flag),useTableSorter );
1779 }
1780
1781 /**
1782 * 表示ãƒ??タをã?レビュー可能かどã�?�‹を返しますã?
1783 *
1784 * 不可能な状態とは,すでにä¸?•ª先é?から表示されてã�?‚‹場合ですã?
1785 *
1786 * @return プレビュー可能(true)?�不可能(false)
1787 */
1788 private boolean isPrev() {
1789 if( startNo <= 0 ) {
1790 return false;
1791 }
1792 return true;
1793 }
1794
1795 /**
1796 * 表示ãƒ??タをネクスト可能かどã�?�‹を返しますã?
1797 *
1798 * 不可能な状態とは,すでにä¸?•ª後ろが表示されてã�?‚‹場合ですã?
1799 *
1800 * @return ネクスト可能(true)?�不可能(false)
1801 */
1802 private boolean isNext() {
1803 if( (startNo + pageSize) >= table.getRowCount() ) {
1804 return false;
1805 }
1806 return true;
1807 }
1808
1809 /**
1810 * コマンドを実行しますã?
1811 *
1812 * コマンドã?,HTMLから(get/post)æŒ?®šされますã?で,setCommand()メソãƒ?ƒ‰で
1813 * 登録しますã?
1814 * コマンドを登録すると同時に,実行も行なã�?�¾すã?
1815 *
1816 * @og.rev 3.8.0.8 (2005/10/03) そã?他ã?コマンドを CMD_XXX にしますã?
1817 *
1818 * @param command コマンãƒ?public static final 宣è¨?�•れてã�?‚‹æ–?—å?)
1819 * @see <a href="{@docRoot}/constant-values.html#org.opengion.hayabusa.taglib.ViewFormTag.CMD_PREV">コマンド定数</a>
1820 */
1821 private void commandExec( final String command ) {
1822 if( CMD_PREV.equals( command ) ) { prev() ; }
1823 else if( CMD_NEXT.equals( command ) ) { next() ; }
1824 else if( CMD_FIRST.equals( command ) ) { first() ; }
1825 else if( CMD_LAST.equals( command ) ) { last() ; }
1826 // else if( CMD_NEW.equals( command ) ) {} // 何もしなã�?
1827 // else if( CMD_REVIEW.equals( command ) ) {} // 何もしなã�?
1828 // else if( CMD_RESET.equals( command ) ) {} // 何もしなã�?
1829 else if( CMD_VIEW.equals( command ) ) { view() ; }
1830 // 3.8.0.8 (2005/10/03) そã?他ã?コマンドを CMD_XXX にしますã?
1831 else if( CMD_XXX.equals( command ) ) { view() ; }
1832 this.command = null;
1833 }
1834
1835 /**
1836 * HTMLãƒ??タの表示をã?レビュー(戻ã�?しますã?
1837 *
1838 * @og.rev 3.0.1.3 (2003/03/11) startNo を隠しフィールドに持つ処ç�?‚’、追åŠ?
1839 *
1840 */
1841 private void prev() {
1842 if( ! isPrev() ) { return ; } // prev 出来なã�??
1843 tempStartNo = tempStartNo - pageSize;
1844 if( tempStartNo < 0 ) { tempStartNo = 0; }
1845 if( skip ) {
1846 for( int i=startNo-1; i>=0; i-- ) {
1847 if( form.isMarked( i ) ) {
1848 startNo = i;
1849 break;
1850 }
1851 }
1852 return ;
1853 }
1854
1855 startNo = startNo - pageSize;
1856 if( startNo < 0 ) {
1857 startNo = 0;
1858 }
1859 }
1860
1861 /**
1862 * HTMLãƒ??タの表示をネクスãƒ?先é?ã‚?しますã?
1863 *
1864 * @og.rev 3.0.1.3 (2003/03/11) startNo を隠しフィールドに持つ処ç�?‚’、追åŠ?
1865 *
1866 */
1867 private void next() {
1868 if( ! isNext() ) { return ; } // next 出来なã�??
1869 tempStartNo = tempStartNo + pageSize;
1870 if( skip ) {
1871 int end = table.getRowCount();
1872 for( int i=startNo+1; i<end; i++ ) {
1873 if( form.isMarked( i ) ) {
1874 startNo = i;
1875 break;
1876 }
1877 }
1878 return ;
1879 }
1880
1881 startNo = startNo + pageSize;
1882 }
1883
1884 /**
1885 * HTMLãƒ??タの表示をファースãƒ?æœ??)しますã?
1886 *
1887 * @og.rev 3.0.1.3 (2003/03/11) startNo を隠しフィールドに持つ処ç�?‚’、追åŠ?
1888 *
1889 */
1890 private void first() {
1891 tempStartNo = 0;
1892 if( tempStartNo < 0 ) { tempStartNo = 0; }
1893 if( skip ) {
1894 int end = table.getRowCount();
1895 for( int i=startNo; i<end; i++ ) {
1896 if( form.isMarked( i ) ) {
1897 startNo = i;
1898 break;
1899 }
1900 }
1901 return ;
1902 }
1903
1904 startNo = 0;
1905 }
1906
1907 /**
1908 * HTMLãƒ??タの表示をラスãƒ?æœ?¾?しますã?
1909 *
1910 * @og.rev 3.0.1.3 (2003/03/11) startNo を隠しフィールドに持つ処ç�?‚’、追åŠ?
1911 *
1912 */
1913 private void last() {
1914 tempStartNo = table.getRowCount() - pageSize;
1915 if( tempStartNo < 0 ) { tempStartNo = 0; }
1916 if( skip ) {
1917 for( int i=startNo; i>=0; i-- ) {
1918 if( form.isMarked( i ) ) {
1919 startNo = i;
1920 break;
1921 }
1922 }
1923 return ;
1924 }
1925
1926 startNo = table.getRowCount() - pageSize;
1927 if( startNo < 0 ) { startNo = 0; }
1928 }
1929
1930 /**
1931 * HTMLãƒ??タの表示をしますã?
1932 *
1933 */
1934 private void view() {
1935 if( skip ) {
1936 int end = table.getRowCount();
1937 for( int i=startNo; i<end; i++ ) {
1938 if( form.isMarked( i ) ) {
1939 startNo = i;
1940 break;
1941 }
1942 }
1943 return ;
1944 }
1945 }
1946
1947 /**
1948 * startNo,pageSize,pagePlus の初期値を設定するã?
1949 *
1950 * @og.rev 3.0.1.3 (2003/03/11) startNo を隠しフィールドに持つ処ç�?‚’、追åŠ?
1951 * @og.rev 3.5.4.1 (2003/12/01) startNo をキャãƒ?‚·ュから取り出すよã�?�«変更ã€?
1952 * @og.rev 3.5.4.7 (2004/02/06) getStartNoKeyメソãƒ?ƒ‰のå»?¢(getRequestCacheDataを利用)
1953 * @og.rev 3.7.0.2 (2005/02/14) NEXT 時に何も選択しなã�?�§追åŠ?�—たå?合ã?ã€?¼‘件目から表示するã€?
1954 * @og.rev 3.8.0.8 (2005/10/03) そã?他ã?コマンドを CMD_XXX にしますã?
1955 *
1956 */
1957 private void setDefaultParameter() {
1958 // 3.7.0.2 (2005/02/14)
1959 // 3.8.0.8 (2005/10/03) そã?他ã?コマンドを CMD_XXX にしますã?
1960 if( CMD_XXX.equals( command ) ) {
1961 String[] selected = getRequestValues( HybsSystem.ROW_SEL_KEY ) ;
1962 if( selected == null || selected.length == 0 ) {
1963 startNo = 0;
1964 tempStartNo = startNo;
1965 }
1966 }
1967
1968 if( startNo<0 ) {
1969 startNo = nval( getRequestCacheData( START_NO_KEY ),form.getStartNo() ) ;
1970 tempStartNo = startNo;
1971 }
1972
1973 if( pageSize<0 ) {
1974 pageSize = nval( getRequestValue( PAGE_SIZE_KEY ),form.getPageSize() ) ;
1975 }
1976
1977 if( pagePlus<0 ) {
1978 pagePlus = nval( getRequestValue( PAGE_PLUS_KEY ),0 ) ;
1979 }
1980
1981 }
1982
1983 /**
1984 * å†?ƒ¨タグの TheadTag / TbodyTag / TfootTag より、å?ã€??フォーマットを定義する
1985 * 為のTableFormatter オブジェクトを受け取るã€?
1986 *
1987 * @og.rev 3.5.4.0 (2003/11/25) 新規登録(setAttributes メソãƒ?ƒ‰より移è¡?
1988 *
1989 * @param form TableFormatterオブジェクãƒ?
1990 */
1991 protected void addFormatter( final TableFormatter form ) {
1992 if( values == null ) { values = new ArrayList<TableFormatter>(); }
1993 values.add( form );
1994 }
1995
1996 /**
1997 * pageSize をhidden属æ?で出力するタグを作æ?しますã?
1998 *
1999 * @og.rev 3.5.4.0 (2003/11/25) command="RESET"時に、戻った画面のpageSize がクリアされてしまã�?¯¾応ã?
2000 * @og.rev 3.5.5.5 (2004/04/23) hidden の出力に、XHTMLTag.hidden を使用しますã?
2001 *
2002 * @param pageSize ペã?ジサイズ
2003 *
2004 * @return hidden属æ?で出力するタグ
2005 */
2006 private String makePageSize( final int pageSize ) {
2007 String name = PAGE_SIZE_KEY;
2008 String value = String.valueOf( pageSize );
2009
2010 return XHTMLTag.hidden( name,value ); // 3.5.5.5 (2004/04/23)
2011 }
2012
2013 /**
2014 * consistencyKey をhidden属æ?で出力するタグを作æ?しますã?
2015 * 出力する条件は、useConsistency="true" (初期値)、で
2016 * scope がã? request 以外ã?場合ですã?
2017 * tableId が設定された場合ã?、consistencyKey に、tableId を加えた
2018 * キーにしますã?
2019 *
2020 * @og.rev 3.5.5.5 (2004/04/23) DBTableModel の整合æ?パラメータã‚?hidden で出力しますã?
2021 * @og.rev 3.5.5.5 (2004/04/23) hidden の出力に、XHTMLTag.hidden を使用しますã?
2022 * @og.rev 3.5.5.8 (2004/05/20) makeConsistencyKey メソãƒ?ƒ‰に処ç�?ƒジãƒ?‚¯を移しますã?
2023 *
2024 */
2025 private void makeConsistencyKey() {
2026 if( useConsistency && ! "request".equals( getScope() ) ) {
2027 String name = HybsSystem.CONSISTENCY_KEY;
2028 String value = table.getConsistencyKey() ;
2029
2030 jspPrint( XHTMLTag.hidden( name,value ) );
2031 }
2032 }
2033
2034 /**
2035 * "false","true","checked" のæ–?—å?をã?それぞれã€?,1,2 に対応した数字に変換しますã?
2036 * それ以外ã?æ–?—å?はã€?1 にしますã?
2037 *
2038 * @og.rev 3.7.0.1 (2005/01/31) 新規作æ?
2039 *
2040 * @param flag æ–?—å? (true=1 , false=0 , checked=2) のæ–?—å?
2041 *
2042 * @return 設定å?(0,1,2の数字ã?不正な場合ã?ã€?1 を返すã€?
2043 */
2044 private static int intCase( final String flag ) {
2045 int rtn = -1;
2046 if( "FALSE".equalsIgnoreCase( flag ) || "0".equalsIgnoreCase( flag ) ) {
2047 rtn = 0;
2048 }
2049 else if( "TRUE".equalsIgnoreCase( flag ) || "1".equalsIgnoreCase( flag ) ) {
2050 rtn = 1;
2051 }
2052 else if( "CHECKED".equalsIgnoreCase( flag ) || "2".equalsIgnoreCase( flag ) ) {
2053 rtn = 2;
2054 }
2055 return rtn ;
2056 }
2057
2058 /**
2059 * ViewForm のサブクラスに渡すパラメータマッãƒ?
2060 *
2061 * @og.rev 3.5.4.8 (2004/02/23) ViewParamTag のパラメータを追åŠ?�—ますã?
2062 *
2063 * @param map パラメータマッãƒ?
2064 */
2065 protected void setParam( final Map<String,String> map ) {
2066 viewParam = map ;
2067 }
2068
2069 /**
2070 * ViewForm のサブクラスに渡すパラメータ(æ–?—å?配å?のArrayList)を設定しますã?
2071 *
2072 * @og.rev 5.5.8.3 (2012/11/17) 新規作æ??ˆスタãƒ?‚¯ガント対応ï¼?
2073 * @og.rev 5.5.9.0 (2012/12/03) objectからArrayListに変更
2074 *
2075 * @param list æ–?—å?配å?のArrayList
2076 */
2077 // protected void setViewObject( final Map<String,Object> map ) {
2078 protected void setViewArrayList( final ArrayList<String[]> list ) {
2079 viewArrayList = list;
2080 }
2081
2082 /**
2083 * 【TAG】パラメーターファイルの使用をするかどã�?�‹[true/false]を指定しまã�?初期値:false)ã€?
2084 *
2085 * @og.tag
2086 * "true" で、パラメータファイルを読み込ã‚?�Ÿめã?BODY部をå?ç�?�—ますã?
2087 * false は、パラメータファイã�?‚’使用しませんã€?
2088 * パラメータファイルは、各ViewFormのサブクラス用に用意しますã?
2089 * 初期値は、false ですã?(false)
2090 *
2091 * @og.rev 3.5.4.8 (2004/02/23) 新規追åŠ?
2092 *
2093 * @param flag パラメーターファイルを使用 [true:使用する/false:使用しない]
2094 */
2095 public void setUseParam( final String flag ) {
2096 useParam = nval( getRequestParameter(flag),useParam );
2097 }
2098
2099 /**
2100 * 【TAG】Consistency キー による整合æ?チェãƒ?‚¯を行うかどã�?�‹[true/false]を指定しまã�?初期値:true)ã€?
2101 *
2102 * @og.tag
2103 * 検索結果ã‚?DBTableModel にセãƒ?ƒˆする時に、整合æ?キーの Consistency キーã‚?
2104 * 作æ?しますã?これをã?Viewタグでhidden出力しておき、Entryタグでãƒ??タ書き換え時に
2105 * 整合æ?チェãƒ?‚¯を行いますã?これは、IEの戻るã?タンで戻ったå?合に、画面の
2106 * キーと検索結果の DBTableModel のå†?®¹がä¸??しなã�??合ã?エラーチェãƒ?‚¯に
2107 * なりますã?
2108 * こã?属æ?は、何らかã?ケースで、このエラーチェãƒ?‚¯を行いたくなã�??合にã€?
2109 * false に設定することで、整合æ?チェãƒ?‚¯を行いませんã€?
2110 * 初期値は、true(整合æ?チェãƒ?‚¯を行う)ですã?
2111 *
2112 * @og.rev 3.5.5.7 (2004/05/10) 新規登録
2113 *
2114 * @param ck Consistency Key の使用するかどã�?�‹ [true:行う/false:行わない]
2115 */
2116 public void setUseConsistency( final String ck ) {
2117 useConsistency = nval( getRequestParameter( ck ),useConsistency );
2118 }
2119
2120 /**
2121 * 【TAG】テーブルのバックグラウンドカラーの入れ替えã?サイクルをセãƒ?ƒˆしまã�?初期値はã€?:ゼブラ)ã€?
2122 *
2123 * @og.tag
2124 * 0(ゼブラなã�?ã€?1(ワーニング)ã€?2以ä¸?エラー)ã€?(ゼブラ)ã€?以ä¸?行数まとã‚?
2125 * 初期値はã€?(ゼブラ)ですã?
2126 *
2127 * @og.rev 3.5.6.2 (2004/07/05) 新規追åŠ?
2128 *
2129 * @param sycle 0(ゼブラなã�?ã€?1(ワーニング)ã€?2以ä¸?エラー)ã€?(ゼブラ)ã€?以ä¸?行数まとã‚?
2130 */
2131 public void setBgColorCycle( final String sycle ) {
2132 bgColorCycle = nval( getRequestParameter( sycle ),bgColorCycle );
2133 }
2134
2135 /**
2136 * 【TAG】テーブルのバックグラウンドカラーのクラスにæŒ?®šするカラãƒ?��を指定しますã?
2137 *
2138 * @og.tag
2139 * 通常のゼブラ模様ã?、tr 属æ?のクラスæŒ?®šとして、row_0、row_1 が指定されますã?
2140 * そã?代わりに、ここでæŒ?®šされたカラãƒ??値がクラス属æ?として設定されますã?
2141 * (æŒ?®šするã?はカラãƒ?��ですã?行単位にクラス属æ?の値を変えることが可能ですã?)
2142 * 選択è¡?row_sel)は、優先して使用されますã?
2143 * 出力されるクラス名ã?ã€?row_" + 属æ?値 になりますã?
2144 *
2145 * @og.rev 5.1.8.0 (2010/07/01) 新規追åŠ?
2146 *
2147 * @param clsClm ゼブラ模様ã?替わりにæŒ?®šするクラスをæ?納したカラãƒ?��
2148 */
2149 public void setBgColorClsClm( final String clsClm ) {
2150 bgColorClsClm = nval( getRequestParameter( clsClm ),bgColorClsClm );
2151 }
2152
2153 /**
2154 * 【TAG】スクロールバã?用のDIV要ç´?‚’出力するかどã�?�‹[true/false]を指定しまã�?
2155 * (初期値:VIEW_USE_SCROLLBAR[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_USE_SCROLLBAR}])ã€?
2156 *
2157 * @og.tag
2158 * スクロールバã?対応する為、テーブルの先é?に、DIV要ç´?‚’出力しますã?
2159 * (初期値:ユーザー定数のVIEW_USE_SCROLLBAR[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_USE_SCROLLBAR}])ã€?
2160 * ※ 互換性の関係よりã?false になってã�?�¾すã?
2161 *
2162 * @og.rev 3.5.6.3 (2004/07/12) 新規追åŠ?
2163 *
2164 * @param useBar スクロールバã?用のDIV要ç´?‚’出力するかどã�?�‹[true:出力すã‚?false:しない]
2165 * @see org.opengion.hayabusa.common.SystemData#VIEW_USE_SCROLLBAR
2166 */
2167 public void setUseScrollBar( final String useBar ) {
2168 useScrollBar = nval( getRequestParameter( useBar ),useScrollBar );
2169 }
2170
2171 /**
2172 * 【TAG】viewLink ã‚?viewMarker のæƒ??取り込みを制御する(初期値は、NEW,RENEW,REVIEW,RESET)ã€?
2173 *
2174 * @og.tag
2175 * viewLink ã‚?viewMarker のæƒ??取り込みは、command がã?NEW,RENEW,REVIEW,RESET
2176 * の場合ã?み行われてã�?�¾すã?
2177 * こã?属æ?でã€?true" を指定すると、コマンドに無関係に取り込みますã?
2178 * "false" の場合ã?、form にキャãƒ?‚·ュしてã�?‚‹リンク、ã?ーカーを削除しますã?
2179 * 取り込み時に、viewLink ã‚?viewMarker オブジェクトが存在しなã�??合ã?ã€?
2180 * 何もしません。これã?、viewMarker オブジェクトè?身がすでに設定済みの場å�?VIEWなど)
2181 * NEXTやPREVでは、viewMarkerオブジェクトã?、リクエスト変数に設定されなã�?‚ºですã?
2182 * こã?場合ã?、登録しませんがã?既存ã? viewMarkerオブジェクトを持ってã�?‚‹はずなのでã€?
2183 * なにも設定しなくてã‚?viewMarker は適用されますã?
2184 * 初期値は、NEW,RENEW,REVIEW,RESET ですã?
2185 *
2186 * @og.rev 3.6.0.4 (2004/10/14) 新規追åŠ?
2187 *
2188 * @param load viewLink ã‚?viewMarker のæƒ??取り込みを制御する
2189 */
2190 public void setLoadMarker( final String load ) {
2191 loadMarker = nval( getRequestParameter( load ),loadMarker );
2192 }
2193
2194 /**
2195 * 【TAG】SEL_ROW機è?[true:有効/false:無効]を指定しまã�?
2196 * (初期値:VIEW_USE_SELECTED_ROW[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_USE_SELECTED_ROW}])ã€?
2197 *
2198 * @og.tag
2199 * SEL_ROW機è?は、戻るリンクから戻ったときや、登録したときにã€?�¸択してã�?�Ÿ
2200 * 行番号ã‚??先にクリãƒ?‚¯された行番号を返す機è?で、SEL_ROW リクエストに設定された
2201 * 行がマã?カーされますã?こã?機è?の有効(true)/無効(false)を指定しますã?
2202 * こã?属æ?でã€?true" を指定すると、有効になりますã?
2203 * "false" の場合ã?、無効ですã?
2204 * (初期値:ユーザー定数のVIEW_USE_SELECTED_ROW[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_USE_SELECTED_ROW}])ã€?
2205 *
2206 * @og.rev 3.7.1.1 (2005/05/23) 新規追åŠ?
2207 *
2208 * @param selRow SEL_ROW機è?の有効/無効を指å®?[true:有効/false:無効]
2209 * @see org.opengion.hayabusa.common.SystemData#VIEW_USE_SELECTED_ROW
2210 */
2211 public void setUseSelectedRow( final String selRow ) {
2212 useSelectedRow = nval( getRequestParameter( selRow ),useSelectedRow );
2213 }
2214
2215 /**
2216 * 【TAG】SEL_ROW使用時ã?選択行色変更[true:有効/false:無効]を指定しまã�?
2217 * (初期値:VIEW_USE_SELROW_COLOR[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_USE_SELROW_COLOR}])ã€?
2218 *
2219 * @og.tag
2220 * SEL_ROW機è?は、現在選択されてã�?‚‹行まで、スクロールする機è?ですが、そのときã?
2221 * 選択行にマã?カーするかどã�?�‹をã?æŒ?®šしますã?
2222 * こã?属æ?でã€?true" を指定すると、有効になりますã?
2223 * "false" の場合ã?、無効ですã?
2224 * (初期値:ユーザー定数のVIEW_USE_SELROW_COLOR[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_USE_SELROW_COLOR}])ã€?
2225 *
2226 * @og.rev 3.7.1.1 (2005/05/31) 新規追åŠ?
2227 *
2228 * @param selRowColor SEL_ROW使用時ã?選択行色変更の有効/無効を指å®?[true:有効/false:無効]
2229 * @see org.opengion.hayabusa.common.SystemData#VIEW_USE_SELROW_COLOR
2230 */
2231 public void setUseSelRowColor( final String selRowColor ) {
2232 useSelRowColor = nval( getRequestParameter( selRowColor ),useSelRowColor );
2233 }
2234
2235 /**
2236 * 【TAGã€?処ç�?™‚間やペã?ジサイズなどのæƒ??出力[true:有効/false:無効]を指定しまã�?初期値:true)ã€?
2237 *
2238 * @og.tag
2239 * ViewForm で、CustomData などの 非HTML表示ビューを使用する場合ã?
2240 * æœ?¾Œに、å?ç�?™‚間とペã?ジサイズ(NEXT時に使用)などのæƒ??をã?hidden で
2241 * 出力してã�?�¾すが、これを制御するフラグをセãƒ?ƒˆしますã?
2242 * true(有効)にすると、これらのHTMLがå?力されますã?false にすると、å?力されませんã€?
2243 * 初期値は、true(有効) ですã?
2244 *
2245 * @og.rev 3.7.1.1 (2005/05/23) 新規追åŠ?
2246 *
2247 * @param useTag æƒ??出力ã?有効/無効を指å®?[true:有効/false:無効]
2248 */
2249 public void setUseAfterHtmlTag( final String useTag ) {
2250 useAfterHtmlTag = nval( getRequestParameter( useTag ),useAfterHtmlTag );
2251 }
2252
2253 /**
2254 * 【TAG】設定å?に "_" が含まれてã�?‚‹場合にレンãƒ?ƒ©ーを使用するカラãƒ?‚’CSV形式でæŒ?®šしますã?
2255 *
2256 * @og.tag
2257 * これは、従来の カラãƒ?®š義の WRITABLE エãƒ?‚£ターと同等ã?働きを行うように
2258 * カラãƒ?±žæ?を指定しますã?
2259 * WRITABLE エãƒ?‚£ターは、設定å?にアンãƒ??バã? "_" が含まれてã�?‚‹場合にã€?
2260 * そã?値を書込み禁止にする機è?ですã?これは、エãƒ?‚£ター自身がå?を判断して
2261 * 書き込み許可か禁止かを判断してã�?�¾すã?
2262 * こã?動きを汎用çš?�«するため、指定ã?カラãƒ?‚’カンマ区åˆ?‚Šæ–??CSV)でæŒ?®?
2263 * することにより、レンãƒ?ƒ©ーとエãƒ?‚£ターを設定å?によって動的にåˆ?‚Š替える
2264 * 機è?を実現しますã?
2265 * そã?場合ã?表示/編é›?�¨もに、å?頭のアンãƒ??バã?は削除されますã?
2266 * またã?全カラãƒ?�«つã�?�¦、有効にする場合ã?、writableControl="*" を設定しますã?
2267 *
2268 * @og.rev 3.8.0.9 (2005/10/17) 新規追åŠ?
2269 *
2270 * @param wrtCtrl 書き込み制御を行いたいカラãƒ?‚’CSV形式でæŒ?®?
2271 */
2272 public void setWritableControl( final String wrtCtrl ) {
2273 writableControl = nval( getRequestParameter( wrtCtrl ),writableControl );
2274 }
2275
2276 /**
2277 * 【TAG】HILIGHT_ROW機è?[true:有効/false:無効]を指定しまã�?
2278 * (初期値:VIEW_USE_HILIGHT_ROW[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_USE_HILIGHT_ROW}])ã€?
2279 *
2280 * @og.tag
2281 * HILIGHT_ROW機è?は、チェãƒ?‚¯ボックスã‚?ƒ©ジオボタンで行選択した際に、どの行が選択されたã�?
2282 * 判るよã�?�«行ã?ハイライト表示を行う機è?ですã?
2283 * さらに、行ã?任意ã?ç®?‰€をクリãƒ?‚¯してもã?チェãƒ?‚¯がå?りã?ハイライト表示されますã?
2284 * こã?属æ?でã€?true" を指定すると、有効になりますã?
2285 * "false" の場合ã?、無効ですã?
2286 * (初期値:ユーザー定数のVIEW_USE_HILIGHT_ROW[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_USE_HILIGHT_ROW}])ã€?
2287 *
2288 * @og.rev 3.8.6.0 (2006/09/29) HILIGHT_ROW機è?の有効/無効を指定しますã?
2289 *
2290 * @param hilightRow HILIGHT_ROW機è?の有効/無効を指å®?[true:有効/false:無効]
2291 * @see org.opengion.hayabusa.common.SystemData#VIEW_USE_HILIGHT_ROW
2292 */
2293 public void setUseHilightRow( final String hilightRow ) {
2294 useHilightRow = nval( getRequestParameter( hilightRow ),useHilightRow );
2295 }
2296
2297 /**
2298 * 【TAG】ogPopup で検索結果の値を返すキーをã?CSV形式でæŒ?®šしますã?
2299 *
2300 * @og.tag
2301 * popup の検索結果を返す画面で、結果のラジオボタンにイベントセãƒ?ƒˆしますã?
2302 * こã?場合ã?オープンもとのwindow に値を返しますが、そのキーをCSV形式で
2303 * æŒ?®šしますã?
2304 * なおã?こã?メソãƒ?ƒ‰は、ä¸?¦§表示(HTMLTable)関係ã?ビューのみでサポã?トして
2305 * ã�?�¾すが、チェãƒ?‚¯メソãƒ?ƒ‰の関係で、それ以外ã?ビューに適用してもç´??ã‚?
2306 * するようにしますã?(エラーにしません)
2307 *
2308 * @og.rev 3.8.6.1 (2006/10/20) 新規追åŠ?
2309 *
2310 * @param rtnKeys ogPopupで値を返すカラãƒ?–‡字å?(CSV形å¼?
2311 */
2312 public void setPopupReturnKeys( final String rtnKeys ) {
2313 popupReturnKeys = nval( getRequestParameter( rtnKeys ),popupReturnKeys );
2314 }
2315
2316 /**
2317 * 【TAG】table要ç´?�«対して class 属æ?を設定しまã�?初期値:viewTable)ã€?
2318 *
2319 * @og.tag
2320 * Javaのè¨?ªž使用上ã?class で作æ?できなã�?�Ÿめã?代用として
2321 * clazz を使用してã�?‚‹ã€?
2322 * html で作æ?される属æ?はã€?class で作æ?されるã?
2323 * 初期値はã€?viewTable" ですã?
2324 *
2325 * @og.rev 4.0.0.0 (2007/04/16) 新規追åŠ?
2326 *
2327 * @param cls class属æ?を表す文字å?
2328 */
2329 public void setClazz( final String cls ) {
2330 clazz = nval( getRequestParameter( cls ),clazz );
2331 }
2332
2333 /**
2334 * 【TAG】ビューの高さを指定しますã?
2335 *
2336 * @og.tag
2337 * id=posDivのDIV要ç´?�«高さを指定しますã?
2338 * javascriptからこã?高さを見てビューの高さを決定しますã?
2339 * 単位もæŒ?®šして下さã�??
2340 *
2341 * @og.rev 4.2.0.0 (2008/03/18) 新規追åŠ?
2342 *
2343 * @param high class属æ?を表す文字å?
2344 */
2345 public void setHeight( final String high ) {
2346 height = nval( getRequestParameter( high ), height );
2347 }
2348
2349 /**
2350 * 【TAG】ビューのå¹?‚’æŒ?®šしますã?
2351 *
2352 * @og.tag
2353 * id=posDivのDIV要ç´?�«å¹?‚’æŒ?®šしますã?
2354 * javascriptからこã?値を見てビューのå¹?‚’決定しますã?
2355 * 単位もæŒ?®šして下さã�??(%æŒ?®š推奨)
2356 *
2357 * @og.rev 4.2.0.0 (2008/03/18) 新規追åŠ?
2358 *
2359 * @param wide æŒ?®šするビューのå¹?
2360 */
2361 public void setWidth( final String wide ) {
2362 width = nval( getRequestParameter( wide ), width );
2363 }
2364
2365 /**
2366 * 【TAG】ファイルãƒ?‚¦ンロード時の抜å?カラãƒ?��(CSV形å¼?を指定しますã?
2367 *
2368 * @og.tag
2369 * fileUDのファイル抜å?時ã?カラãƒ?‚’カンマ形式でæŒ?®šしますã?
2370 *
2371 * @og.rev 4.3.0.0 (2008/07/04) 新規追åŠ?
2372 *
2373 * @param dwnClms 抜å?カラãƒ?��(CSV形å¼?
2374 */
2375 public void setFileDwnClms( final String dwnClms ) {
2376 fileDwnClms = nval( getRequestParameter( dwnClms ), fileDwnClms );
2377 }
2378
2379 /**
2380 * 【TAG】編é›?¡Œã?みを表示するかをæŒ?®šしますã?
2381 *
2382 * @og.tag
2383 * 編é›?¡Œã?みを表示するかをæŒ?®šしますã?trueがセãƒ?ƒˆされたå?合ã?編é›?¡?改廃Cがつã�?�¦ã�?‚‹è¡?
2384 * のみがå?力されますã?
2385 *
2386 * @og.rev 4.3.1.0 (2008/09/08)
2387 *
2388 * @param sne 編é›?¡Œã?みをå?力するか
2389 */
2390 public void setSkipNoEdit( final String sne ) {
2391 skipNoEdit = nval( getRequestParameter( sne ), skipNoEdit );
2392 }
2393
2394 /**
2395 * 【TAGã€?通常は使ã�?�¾せん)画面遷移を行わなã�?½¢式ã?登録方法を使用するかをæŒ?®šしますã?
2396 *
2397 * @og.tag
2398 * 画面遷移なしã?登録を行うかどã�?�‹を指定しますã?
2399 * trueが指定された場合ã?HTML出力時に、各行に対して、行番号と改廃Cが属æ?æƒ??として付加されますã?
2400 * ここで出力されたæƒ??をå?に、JavaScriptの入れ替えå?ç�?‚’行いますã?
2401 *
2402 * こã?値は、og:headタグで設定å?、またã?前画面からの値を継承するためã€??常、この属æ?ではセãƒ?ƒˆしませんã€?
2403 *
2404 * @og.rev 4.3.3.0 (2008/10/01) 新規追åŠ?
2405 * @og.rev 5.1.3.0 (2010/02/01) noTransition、ajaxSubmitのコントロールは、requestで行うã€?
2406 *
2407 * @param noTrnstn 画面遷移を行わなã�?½¢式ã?登録方法を使用するã�?
2408 */
2409 public void setNoTransition( final String noTrnstn ) {
2410 // noTransition = nval( getRequestParameter( noTrnstn ), noTransition );
2411 setNoTransitionRequest( nval( getRequestParameter( noTrnstn ), isNoTransitionRequest() ) );
2412 }
2413
2414 /**
2415 * 【TAG】選択行ハイライトã?制御をチェãƒ?‚¯ボックスのみで有効にするかをæŒ?®šしまã�?
2416 * (初期値:VIEW_USE_HILIGHT_CHECK_ONLY[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_USE_HILIGHT_CHECK_ONLY}])ã€?
2417 *
2418 * @og.tag
2419 * 選択行ハイライトã?制御をチェãƒ?‚¯ボックスのみで有効にするかをæŒ?®šしますã?
2420 * trueの場合ã?チェãƒ?‚¯ボックスのみで有効になりますã?
2421 * falseの場合ã?行å?体ã?å�?¦�ç´?�§有効になりますã?
2422 * trueにした場合ã?チェãƒ?‚¯ボックスが存在しなã�?¡Œに対しては、ハイライトすることはできませんã€?
2423 * (初期値:ユーザー定数のVIEW_USE_HILIGHT_CHECK_ONLY[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_USE_HILIGHT_CHECK_ONLY}])ã€?
2424 *
2425 * @og.rev 4.3.7.0 (2009/06/01) 新規追åŠ?
2426 *
2427 * @param hiCkOnly 選択行ハイライトã?制御をチェãƒ?‚¯ボックスのみで有効にするã�?
2428 * @see org.opengion.hayabusa.common.SystemData#VIEW_USE_HILIGHT_CHECK_ONLY
2429 */
2430 public void setUseHilightCheckOnly( final String hiCkOnly ) {
2431 useHilightCheckOnly = nval( getRequestParameter( hiCkOnly ), useHilightCheckOnly );
2432 }
2433
2434 /**
2435 * 【TAG】ä¸?‹¬入力カラãƒ??アシスト機è?を利用するカラãƒ?��をã?カンマ区åˆ?‚Šで与えますã?
2436 *
2437 * @og.tag
2438 * これは、カラãƒ??書き込み時に、ä¸?‹¬入力可能なカラãƒ?‚’ヘッãƒ??に表示しã?
2439 * ä¸?‹¬登録できる機è?を提供しますã?
2440 * こã?機è?は、jsp/common/bulkSet.js JavaScript とともに提供されますã?
2441 * IE につã�?�¦は、クリãƒ??ボã?ドも利用できますã?Ctrl-C と Ctrl-V でそれぞれ
2442 * ä¸??のカラãƒ??値の取り出しと書き込みが可能になりますã?
2443 * (プルãƒ?‚¦ンの場合ã?オプションに上記が追åŠ?�•れまã�?
2444 * "*" を指定すると、すべてのカラãƒ?‚’(columnBulkSet)æŒ?®šしたことになりますã?
2445 *
2446 * シスãƒ?ƒ リソースで、VIEW_USE_DEFAULT_BULKSET ã‚?true に設定すると、å?期å?ã�?"*"
2447 * になりますã?で、å?別の view に設定しなくてもこの機è?が使用できるようになりますã?
2448 *
2449 * こã?機è?はä¸?‹¬入力ã?手間削減が目çš?�ªので、selectedType ã�?radio の場合ã?ã€?
2450 * こã?機è?は無効になりますã?
2451 *
2452 * @og.rev 5.2.1.0 (2010/10/01) 新規作æ?
2453 * @og.rev 5.4.4.0 (2012/02/01) コメント追åŠ?
2454 *
2455 * @param columnName 例ï¼?OYA,KO,HJO,SU,DYSET,DYUPD"
2456 */
2457 public void setColumnBulkSet( final String columnName ) {
2458 columnBulkSet = nval( getRequestParameter(columnName),columnBulkSet );
2459 }
2460
2461 /**
2462 * タグの名称をã?返しますã?
2463 * 自åˆ??身のクラス名よりã?自動的に取り出せなã�?�Ÿめã?こã?メソãƒ?ƒ‰をオーバã?ライドしますã?
2464 *
2465 * @og.rev 4.0.0.0 (2005/01/31) 新規追åŠ?
2466 *
2467 * @return タグの名称
2468 */
2469 @Override
2470 protected String getTagName() {
2471 return "view" ;
2472 }
2473
2474 /**
2475 * seqClmTableを使用するかどã�?�‹をチェãƒ?‚¯しまã�?
2476 *
2477 * ここではtableId,scope,é ?›®名などで厳å¯?�«チェãƒ?‚¯を行い、これらがå?のæƒ??と合è?しなã�??合ã?ã€?
2478 * ViewFormTypeの置き換えを行わなã�?‚ˆã�?�«しますã?
2479 *
2480 * @og.rev 5.1.6.0 (2010/05/01) 新規追åŠ?
2481 * @og.rev 5.3.6.0 (2011/06/01) Edit機è?見直しによりメソãƒ?ƒ‰名変更
2482 *
2483 * @param config DBEditConfigオブジェクãƒ?
2484 */
2485 // private void checkUseSeqClmTable() {
2486 private void makeEditTable( final DBEditConfig config ) {
2487 String userViewClms = config.getViewClms();
2488 DBLastSql lastSql = (DBLastSql)getSessionAttribute( HybsSystem.DB_LAST_SQL_KEY );
2489 if( lastSql != null && lastSql.isGuiMatch( getGUIInfoAttri( "KEY" ) ) && lastSql.isTableMatch( tableId, getScope() ) ) {
2490 // 1Queryに対してè¤?•°Viewがあるå?å�?左右åˆ?‰²など)、Viewのå�??目定義ã�?|'でåˆ?‰²されてセãƒ?ƒˆされてã�?�¾すã?
2491 int vwCnt = StringUtil.nval( (String)getRequestAttribute( "h_vwCnt" ), 0 );
2492 String[] clmGroup = StringUtil.csv2Array( userViewClms, '|' );
2493 if( clmGroup.length > vwCnt ) {
2494 // AAA,!BBB,CCC,DDD,!EEE から!がつã�?�Ÿカラãƒ??みを取り除ã�?!があるé?目は非表示)
2495 String thisViewClms = ( "," + clmGroup[vwCnt] ).replaceAll( ",![^,]*", "" );
2496 // 行カウントカラãƒ?‚’表示するã€?
2497 if( table.getColumnNo( "rowCount", false ) >= 0 ) {
2498 thisViewClms += ",rowCount";
2499 }
2500 if( thisViewClms.length() > 0 ) {
2501 thisViewClms = thisViewClms.substring( 1 );
2502 }
2503 String[] clm = StringUtil.csv2Array( thisViewClms );
2504 boolean isUse = true;
2505 for( int i=0; i<clm.length; i++ ) {
2506 if( table.getColumnNo( clm[i], false ) < 0 ) {
2507 isUse = false;
2508 break;
2509 }
2510 }
2511 if( isUse ) {
2512 viewFormType = "HTMLSeqClmTable";
2513 columnDisplay = thisViewClms;
2514 clmSeqDisplay = thisViewClms;
2515 noDisplay = null;
2516 setRequestAttribute( "h_vwCnt", String.valueOf( vwCnt+1 ) );
2517 }
2518 }
2519 }
2520 }
2521
2522 /**
2523 * Viewで表示したé ?›®をDBLastSqlにセãƒ?ƒˆしますã?
2524 *
2525 * ここではtableId,scopeなどで厳å¯?�«チェãƒ?‚¯を行い、これらがå?のæƒ??と合è?しなã�??合ã?ã€?
2526 * DBLastSqlへのセãƒ?ƒˆを行わなã�?‚ˆã�?�«しますã?
2527 *
2528 * @og.rev 5.1.6.0 (2010/05/01) 新規追åŠ?
2529 * @og.rev 5.3.9.0 (2011/09/01) ヘッãƒ??ソートを行ったå?合ã?編é›?¯¾象カラãƒ?�Œ正しく表示されなã�?ƒ�グを修正
2530 */
2531 private void setViewClms() {
2532 // 4.3.0.0 (2008/07/04) fileUD 対応ã?抜き出すカラãƒ?‚’æŒ?®šしますã?
2533 // if( fileDwnClms != null ) {
2534 DBLastSql lastSql = (DBLastSql)getSessionAttribute( HybsSystem.DB_LAST_SQL_KEY );
2535 if( lastSql != null ) {
2536 String guikey = getGUIInfoAttri( "KEY" );
2537 if( lastSql.isGuiMatch( guikey ) && lastSql.isTableMatch( tableId, getScope() ) && lastSql.isViewEditable() ) {
2538 // 5.1.6.0 (2010/05/01) fileDwnClmsが指定されなã�??合ã?、Viewで表示されたカラãƒ?‚’セãƒ?ƒˆ
2539 if( form.isEditable() ) {
2540
2541 // 5.3.9.0 (2011/09/01) リクエストに対して初めて処ç�?�™るå?合に対象カラãƒ?‚’ä¸?—¦クリアするã€?
2542 boolean vwBln = StringUtil.nval( (String)getRequestAttribute( "h_vwBln" ), false );
2543 if( !vwBln ) {
2544 lastSql.setViewClmNames( null );
2545 lastSql.setClmNames( null );
2546 setRequestAttribute( "h_vwBln", "true" );
2547 }
2548
2549 String clmNames = lastSql.getViewClmNames();
2550 if( clmNames == null || clmNames.length() == 0 ) {
2551 clmNames = StringUtil.nval( fileDwnClms, form.getViewClms() );
2552 }
2553 else {
2554 // 1Queryに対してè¤?•°Viewがあるå?å�?左右åˆ?‰²など)、Viewのå�??目定義ã�?|'でåˆ?‰²されてセãƒ?ƒˆしますã?
2555 clmNames += "|" + StringUtil.nval( fileDwnClms, form.getViewClms() );
2556 }
2557 lastSql.setViewClmNames( clmNames );
2558 lastSql.setClmNames( clmNames.replace( "|", "," ) );
2559 setSessionAttribute( HybsSystem.DB_LAST_SQL_KEY,lastSql );
2560 }
2561 else {
2562 lastSql.setViewNotEditable();
2563 }
2564 }
2565 }
2566 // }
2567 }
2568
2569 /**
2570 * シリアライズ用のカスタãƒ?‚·リアライズ書き込みメソãƒ?ƒ‰
2571 *
2572 * @og.rev 4.0.0.0 (2006/09/31) 新規追åŠ?
2573 * @serialData
2574 *
2575 * @param strm ObjectOutputStreamオブジェクãƒ?
2576 */
2577 private void writeObject( final ObjectOutputStream strm ) throws IOException {
2578 strm.defaultWriteObject();
2579 }
2580
2581 /**
2582 * シリアライズ用のカスタãƒ?‚·リアライズ読み込みメソãƒ?ƒ‰
2583 *
2584 * ここでは、transient 宣è¨?�•れたå†?ƒ¨変数のå†??初期化がå¿?¦�なフィールドã?み設定しますã?
2585 *
2586 * @og.rev 4.0.0.0 (2006/09/31) 新規追åŠ?
2587 * @serialData
2588 *
2589 * @param strm ObjectInputStreamオブジェクãƒ?
2590 * @see #release2()
2591 */
2592 private void readObject( final ObjectInputStream strm ) throws IOException , ClassNotFoundException {
2593 strm.defaultReadObject();
2594 }
2595
2596 /**
2597 * こã?オブジェクトã?æ–?—å?表現を返しますã?
2598 * 基本çš?�«ãƒ?ƒ�ãƒ?‚°目çš?�«使用しますã?
2599 *
2600 * @return こã?クラスのæ–?—å?表現
2601 */
2602 @Override
2603 public String toString() {
2604 return org.opengion.fukurou.util.ToString.title( this.getClass().getName() )
2605 .println( "VERSION" ,VERSION )
2606 .println( "tableId" ,tableId )
2607 .println( "viewFormId" ,viewFormId )
2608 .println( "viewFormType" ,viewFormType )
2609 .println( "viewLinkId" ,viewLinkId )
2610 .println( "viewMarkerId" ,viewMarkerId )
2611 .println( "command" ,command )
2612 .println( "startNo" ,startNo )
2613 .println( "tempStartNo" ,tempStartNo )
2614 .println( "pageSize" ,pageSize )
2615 .println( "pagePlus" ,pagePlus )
2616 .println( "columnWritable" ,columnWritable )
2617 .println( "noWritable" ,noWritable )
2618 .println( "columnDisplay" ,columnDisplay )
2619 .println( "noDisplay" ,noDisplay )
2620 .println( "columnGroup" ,columnGroup )
2621 .println( "noMessage" ,noMessage )
2622 .println( "writable" ,writable )
2623 .println( "checked" ,checked )
2624 .println( "skip" ,skip )
2625 .println( "rowspan" ,rowspan )
2626 .println( "selectedType" ,selectedType )
2627 .println( "numberType" ,numberType )
2628 .println( "optTypeAttri" ,optTypeAttri )
2629 // .println( "changeLabelKeys" ,changeLabelKeys )
2630 // .println( "changeLabelVals" ,changeLabelVals )
2631 .println( "backLinkCount" ,backLinkCount )
2632 .println( "headerSkipCount" ,headerSkipCount )
2633 .println( "bodyString" ,bodyString )
2634 .println( "useCheckControl" ,useCheckControl )
2635 .println( "useTableSorter" ,useTableSorter )
2636 .println( "useParam" ,useParam )
2637 .println( "useConsistency" ,useConsistency )
2638 .println( "bgColorCycle" ,bgColorCycle )
2639 .println( "useScrollBar" ,useScrollBar )
2640 .println( "sortKeys" ,sortKeys )
2641 .println( "loadMarker" ,loadMarker )
2642 .println( "useSelectedRow" ,useSelectedRow )
2643 .println( "useSelRowColor" ,useSelRowColor )
2644 .println( "useAfterHtmlTag" ,useAfterHtmlTag )
2645 .println( "writableControl" ,writableControl )
2646 .println( "hight" ,height )
2647 .println( "width" ,width )
2648 .println( "skipNoEdit" ,skipNoEdit )
2649 .println( "noTransition" ,noTransition )
2650 .println( "useHilightCheckOnly",useHilightCheckOnly)
2651 .println( "COMMAND_LIST" ,COMMAND_LIST )
2652 .println( "Other..." ,getAttributes().getAttribute() )
2653 .fixForm().toString() ;
2654 }
2655 }