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