[Wicket-ja-user 44] Re: ListView などの繰返し項目内のテキストフィールドなどの値の取得

Back to archive index

Yoshiori SHOJI yoshi****@gmail*****
2008年 3月 26日 (水) 18:04:50 JST


よしおりです。

CompoundPropertyModelで取得するなら
populateItem の中で
item.setModel(new CompoundPropertyModel(foo));
しなくてはいけないとおもいます。

Test26formクラスに格納するのであれば
List や 配列などの Collection をもたせるか、Test26form自体をCollection としてあつかわないと
難しいとおもいます。


2008/3/26 maeda <aaake****@gmail*****>:
> maedaです。
>
>  ListViewやPageableListViewでテキストフィールド等の入力項目を含む一覧を画面に描画し
>  値を変更後にCompoundPropertyModelでサブミット時に値をセットできますでしょうか?
>
>  以下のソースで
>  Test26formクラスに格納したいのですが
>  Test26formクラスにはどのような名称のフィールドが必要なのでしょうか?
>
>  それとも、これでは取得できませんでしょうか?
>
>  public class Test26 extends WebPage {
>
>         private Test26form test26form;
>
>         /**
>          * 初期処理
>          *
>          */
>         public Test26() {
>                 super();
>
>             final IModel entryListModel = new LoadableDetachableModel() {
>                         @Override
>                 protected Object load() {
>                                 return getListModel();
>                 }
>             };
>
>                 test26form = new Test26form();
>
>                 Form form = new Form("form",new CompoundPropertyModel(test26form));
>                 this.add(form);
>
>                 WebMarkupContainer table1 = new WebMarkupContainer("table1");
>                 table1.setOutputMarkupId(true);
>                 PageableListView listview1 = new PageableListView("loop1",entryListModel,5) {
>                         @Override
>                         protected void populateItem(ListItem listItem) {
>                                 final ListModel buf = (ListModel) listItem.getModelObject();
>                                 listItem.add(new TextField("name" ,new Model(buf.getName())));
>                                 listItem.add(new TextField("id", new Model(buf.getId())));
>                         }
>                 };
>                 table1.add(listview1);
>                 table1.add(new AjaxPagingNavigator("page1", listview1));
>                 form.add(table1);
>
>                 form.add(button1);
>         }
>
>         /**
>          * 一覧表示用のList取得メソッド
>          * 本当はDBからとったりする。
>          *
>          */
>         private List<ListModel> getListModel() {
>                 ArrayList<ListModel> list = new ArrayList<ListModel>();
>                 ListModel listModel;
>                 for(int i=0 ;i<=500;i++){
>                         listModel = new ListModel();
>                         listModel.setId(String.valueOf(i));
>                         listModel.setName("name"+String.valueOf(i));
>                         list.add(listModel);
>                 }
>                 return list;
>         }
>  }
>
>  _______________________________________________
>  Wicket-ja-user mailing list
>  Wicke****@lists*****
>  http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user
>




Wicket-ja-user メーリングリストの案内
Back to archive index