0

我有一个使用 ZK 5.0.8(MVC 方法)的 bandBox,里面是一个列表框,它稍后显示记录我在 bandBox eventListener[event] 中过滤结果 onChanging 但有时 pageSize 和分页与列表框上的结果不同步有时不是 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);                          
     }
});         

请看下面的图片。

截屏

4

1 回答 1

0

我认为问题可能是这个

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

Items使用Model. _

将其更改为

box.getModel().clear(); 

或者只是删除该行,因为无论如何您都设置了新模型。

于 2013-04-27T02:24:14.033 回答