/**
* 所属部門マスター 選択リスト カスタマイズクラス<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); // 所属部門