2016-05-06 2 views
1

Я пытаюсь реализовать ZK selectbox. Он отлично работает, когда я пытаюсь использовать его с такой модельюZK selectbox static list not working

<zscript> 
    <![CDATA[ 
     String[] numbers = { "1", "2", "3", "4", "5" }; 
     ListModelList _newModel= new ListModelList(numbers); 
    ]]> 
</zscript> 

<selectbox id="testSelectBox"> 
    <template name="model" model="${_newModel}"> 
     <label value="${each}" /> 
    </template> 
</selectbox> 

Но мой вопрос: могу ли я использовать его вот так?

<selectbox id="testSelectBox" sclass="pagingCombo"> 
    <template name="model"> 
     <label value="10" /> 
     <label value="25" /> 
     <label value="50" /> 
     <label value="100" /> 
    </template> 
</selectbox> 

Заранее спасибо.

ответ

0

Обычно, когда вы используете статические данные, вам не нужно устанавливать шаблон.
пример для ListBox:

<listbox> 
     <listitem height="30px"> 
       <listcell label="ZK Jet 0.8.0 is released" /> 
       <listcell label="2008/11/17 17:41:29" /> 
     </listitem> 
     <listitem height="30px"> 
       <listcell label="URLs for iPhone-Optimized Google Sites" /> 
       <listcell label="2008/11/17 15:56:37" /> 
     </listitem 
</listbox> 

Но, selectbox doesn't allow any children, для этого вам всегда нужно будет использовать модель.
Конечно, мы можем посмотреть на визуализаторе для переключателя:

new org.zkoss.zul.ItemRenderer() { 
     public String render(Component owner, Object data, int index) throws Exception { 
      return data.toString(); 
     } 
    }; 

И там снова, мы видим, что мы возвращаем String и не имеют Listcell или где мы могли бы добавить Label или что-то мы хотеть.
Компонент, который мы получаем в рендерере, является родительским компонентом.

+0

На самом деле я хочу использовать selectbox не Listbox. –

+0

Я не говорю, что вам нужно использовать список, я говорю, что вам нужно использовать ListModel, чтобы эта работа работала. – chillworld

+0

Вот что я понял, спасибо за вашу помощь, я закончил использовать Listbox. –