maeda
aaake****@gmail*****
2008年 3月 6日 (木) 20:56:15 JST
maedaです。 David Leangenさま、木村さま、返信ありがとうございます。 こちら自分の説明が下手ですみません。 ソースの一部なのですが 下記の用な感じにgetChoices()メソッドの戻値のiteratorの元のListに対して Listをaddし画面で表示されているデータを選択し その後submit等でaddしたListがCompoundPropertyModelで指定したBeanに セットできないかと思い質問してみました。 autoCompleteTextField = new AutoCompleteTextField("autoCompleteTextField"){ @Override protected Iterator getChoices(String input) { if (Strings.isEmpty(input)) { return Collections.EMPTY_LIST.iterator(); } List choices = new ArrayList(); ListModel listMode; //どんな文字が入力されても適当に5つ出力 //本番はデータベースなどから検索取得 for(int i=1;i<5;i++){ listMode = new ListModel(); listMode.setId(String.valueOf(i)); listMode.setName("name"+String.valueOf(i)); choices.add(listMode); } return choices.iterator(); } }; /** * autoCompleteTextFieldにaddするクラス * */ public class ListModel implements Serializable { private static final long serialVersionUID = 1L; private String name; private String id; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } //画面に表示される項目 @Override public String toString(){ return name; } } /** * 画面項目保持 * CompoundPropertyModelでformに設定するクラス * */ public class formDate implements Serializable { private ListModel autoCompleteTextField; public ListModel getAutoCompleteTextField() { return autoCompleteTextField; } public void setAutoCompleteTextField(ListModel autoCompleteTextField) { this.autoCompleteTextField = autoCompleteTextField; } } しかし、このソースですとformDateのautoCompleteTextFieldには何もセットされずセッターメソッドも呼出されませんでした。(nullのままでした) ListModelをStringに変更すれば表示している文字だけは取得できました・・・。 具体的には ListModelクラスのnameを表示、選択させてId(できれば更に複数のデータ)をsubmit時やajaxイベント時に使用して 別の項目に設定したりしたいのです。 この様な機能の実現はautoCompleteTextFieldで可能でしょうか? それとも自分でコンポーネントを作成しないと実現できないでしょうか? 分かりにくい説明ですがよろしくお願いします。 David Leangen <wicke****@leang*****> wrote: > > こんにちは > > > レベルの低い質問すみませんがお答えいただけないでしょうか? > > レベル低い質問がありません。 > 質問しないことの方がレベル低いだと思います。 > (^−^) > > > オートコンプリートについて質問なのですが > > 選択された文字列に連動する項目を別のTextFieldに設定したいのですが > > 可能でしょうか? > > よくわかりませんがモデル(IModel)を使えばどうで > しょうか? > > コードを見せればもうちょっとわかりやすいかもし > れません。 > > > David > > _______________________________________________ > Wicket-ja-user mailing list > Wicke****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user