/** * 所属部門マスター 選択リスト カスタマイズクラス<BR> * @author * */ public class GroupmasterSelectListEx extends GroupmasterSelectList{ }
選択リスト カスタマイズクラスに protected void preSearch(DaoBase dao) のオーバーライドを行う
@Override /** * 選択リストを部門コードの降順にする * 選択リストの先頭に全部門を追加 * */ protected void preSearch(DaoBase dao){ // DBから取得のソート順を部門コードの降順に設定 dao.addSortDescParameter("groupcode"); // 選択リストの先頭に全部門を追加 selectList.add("全部門", ""); }
選択リスト カスタマイズクラスに protected void addSelectListItem(Grouopmaster record) のオーバーライドを行う
@Override /** * 選択リストの表示値は、部門コード+半角スペース+部門名称にする * */ protected void addSelectListItem(Grouopmaster record) { String optionValue = DaoBase.changeString(record.getGroupName()); String sendValue = DaoBase.changeString(record.getGroupCode()); if(optionValue == null && sendValue == null){ selectList.add(""); } else if(optionValue == null && sendValue != null){ selectList.add(sendValue); } else if(optionValue != null && sendValue == null){ selectList.add(optionValue); } // 表示値に部門コード+半角スペースを付加 selectList.add(sendValue + " " + optionValue, sendValue); }
選択リスト カスタマイズクラスに protected SelectList afterSearch(SelectList selectList) のオーバーライドを行う
@Override /** * 選択リストの表示値に連番を追加 * */ protected SelectList afterSearch(SelectList selectList) { SelectList newList = new SelectList(); String optionValue; String sendValue; int i = 0; for (SelectListItem item:selectList.getSelectListItems()){ // 表示値に連番を付加 optionValue = i + " : " + item.getOptionValue(); sendValue = item.getSendValue(); newList.add(optionValue, sendValue); i++; } return newList; }
入力画面/変更画面Javaクラスの、コンストラクタ
// 選択リストの設定 // 所属部門マスター 選択リスト カスタマイズクラス GroupmasterSelectListEx groupItem = new GroupmasterSelectListEx(); SelectList field_groupCode_select_list = groupItem.getSelectList(); fm.setSelectList("field_groupCode", field_groupCode_select_list); // 所属部門