2013-08-26 3 views
1

내가 복사 한 fromwicket 사이트를 런타임에 추가 항목을 지원하는 ListEditor 구성 요소라고 RepeatingView마다 구축 그래서 누군가가 아이템을 추가하면, 어떻게 이것을 얻을 수 있습니까?개찰구,

+0

왜 당신은 ListView를 사용하지 마십시오? 위에 표시된 임펠에서 –

+0

나는 ajax에 항목을 추가하고 제거 할 수있다. –

답변

0

Ajax 호출을 사용하여 일반 ListView에도 항목을 추가 할 수 있습니다. 추가 할 항목이 ajax 호출의 기본 목록 (일반적으로 LoadableDetachableModel 사용)에 추가되었는지 확인한 다음 AjaxRequestTarget에 추가하고 전체 목록보기를 새로 고치고 setReuseItems을 false로 설정하면됩니다.

뭔가 같은 :

LoadableDetachableModel<List<MyObject>> myListModel = new LoadableDetachableModel<List<MyObject>>() 
{ 
    public List<MyObject> load() 
    { 
    return generateListDynamically(); //or whatever method you use to retrieve the list including the items you've added 
    } 
} 

ListView<MyObject> items = new ListView("items", myListModel); 
items.setReuseItems(false); 
add(items); 

//A method you call in the onclick of the link that adds or removes an item. 
public void onItemAdd(AjaxRequestTarget target) 
{ 
    //should be accessible, maybe make it a member of the page or something 
    target.add(items); 
}