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