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

Back to archive index

maeda aaake****@gmail*****
2008年 3月 26日 (水) 17:37:21 JST


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 メーリングリストの案内
Back to archive index