ZK Bandbox Listbox autoPaging过滤问题

时间:2013-04-24 13:55:22

标签: java listbox zk

我有一个使用ZK 5.0.8(MVC方法)的bandBox是一个列表框,它显示了以后的记录我在bandBox eventListener [event]中过滤结果onChanging但有时pageSize和paging与结果不同步在列表框上有时不是IT上的记录(0匹配)仍在显示

 1/ 13[ 1 - 4 / 51]

为什么这?有人能给我一个提示吗?这是我的相关代码

<bandbox id="bandforcode" autodrop="true" width="270px">    
<listbox id="listBoxForCode" height="250px" width="300px" mold="paging" autopaging="true">
 public void setListBoxForBandBoxFromDB(Listbox box,String ref)//Filtering
 {     
   final ArrayList<Student>students = new ArrayList<Student>(manager.getListForStudentsByRefBandBox(ref));     
   box.getItems().removeAll(box.getItems());       
   BindingListModelList model = new BindingListModelList(students,false);
   box.setModel(model);
}
box.addEventListener("onChanging",new EventListener()//Listener
{
    public void onEvent(Event event) throws Exception
    {                       
    final Bandbox band = (Bandbox)event.getTarget();
    final org.zkoss.zk.ui.event.InputEvent inputEvent=(org.zkoss.zk.ui.event.InputEvent)event;              
    final String initialText = inputEvent.getValue();                                  

setListBoxForBandBoxFromDB((Listbox)band.getFirstChild().getFirstChild(),initialText);                          
     }
});         

请看下面的图片。

Screenshot

1 个答案:

答案 0 :(得分:0)

我认为问题可能是这个

box.getItems().removeAll(box.getItems()); 

使用Items时,您不应该编辑Model

将其更改为

box.getModel().clear(); 

或者只是删除线,无论如何你都要设置一个新模型。