我有一个非常简单的问题。我很惊讶,找不到答案。 如何在ZK Framework中完全清除ListBox(org.zkoss.zul.ListBox)?
答案 0 :(得分:3)
下面的代码会清除列表框,但如果使用模型,可能会导致问题:
lb.getItems().clear();
以下代码清除选择:
lb.clearSelection();
以下代码设置新模型,删除旧模型和所有项目。如果模型为空,列表框将为空
lb.setModel(model);
如果你想获得一套新的物品,最后一件应该是最好的 如果你有一个列表使用:
lb.setModel(new ListModelList<>(myList));
答案 1 :(得分:1)
如果您看到API
public java.util.List<Listitem> getItems()
返回所有Listitem的实时列表。实时我们的意思是您可以使用List界面直接添加或删除它们。换句话说,您可以通过直接操作返回的列表来添加或删除项目。
因此,从列表中删除会从ListBox中删除。
所以最终你的行将是listbox.getItems().clear();
答案 2 :(得分:0)
如果要清除所选索引,请使用:clearSelection();
答案 3 :(得分:0)
编辑:
我确实找到了一个解决方案: 为确保即使页码与列表项一起删除,一种方法是:
myListbox.setModel(new ListModelList()); //通过设置空模型来删除数据项;这必须在重置模具之前完成 myListbox.setMold(&#34;的默认&#34); //通过重置模具来删除页码
然后当您需要填充数据时,您必须将模具设置为分页和模型以及您的数据列表:
List res = myListData(); //要在列表框中填写的数据
myListbox.setMold(&#34;的寻呼&#34);
myListbox.setPageSize(15);
myListbox.setActivePage(0);
myListbox.setModel(new ListModelList(res));
eventListbox.getPagingChild()调用setVisible(假);