2010-12-09 3 views
0

java를 사용하여 zkoss의 목록 상자에 값을 추가해야합니다. 동적 값을 의미합니다.자바를 사용하여 zkoss의 목록 상자에 값 추가

는 나는이 목록 상자에 DB를 MySQL의에서 값을 추가하기 위해 필요한이

<window id="win_1" use="com.test.tets"> 
    <listbox id="a"> 
     <listhead> 
      <listheader label="Name" /> 
      <listheader label="Age" /> 
      <listheader label="Sex" /> 
     </listhead> 
     <listitem id="i">   
     </listitem> 
    </listbox> 
</window> 

같은 ZUL 있습니다. 어떻게해야합니까?

답변

0

의 ListModel 목록 예 :

yourListBox.setModel(new ListModelList<BeanClass>(beanDao.findAll())); 
    yourListBox.setItemRenderer(new ListItemRenderer<BeanClass>) { 

     @Override 
     public void render(Listitem item, BeanClass data, int index) throws Exception { 
      Listcell cell = new Listcell(); 
      cell.appendChild(new Label(data.getFoo())); 
      item.appendChild(cell); 
     } 
    }); 
0

MVVM 접근

당신의 ZUL 파일

<window id="win_1" use="com.test.tets" 
    apply="org.zkoss.bind.BindComposer" 
    viewModel="@id('vm') @init('your view model class')"> 
     <listbox id="a" model="@load(vm.listModel)"> 
      <listhead> 
       <listheader label="Name" /> 
       <listheader label="Age" /> 
       <listheader label="Sex" /> 
      </listhead> 
      <template name="model"> 
       <listitem> 
        components that will represent a row in listbox... 
       </listitem> 
      </template> 
     </listbox> 
    </window> 

보기 모델

public class SampleViewModel 
{ 

    private ListModelList<class that respresent row> listModel; 

    @Init 
    public void init() 
    { 
     init your model here.... 
    } 

    public ListModelList<class that respresent row> getListModel{ 
     return this.listMode; 
    } 

    public void setListModel(ListModelList<class that respresent row> listModel) 
    { 
     this.listModel=listModel; 
    } 
} 

목록 모델 목록은 뷰 모델의 변경 사항에 대한 알림도 처리합니다.

관련 문제