java - 无法从 zk 列表框中检索值

标签 java listbox zk

假设我有一个包含十个项目的列表框,然后我为每个页面设置五个项目,所以现在列表框有两页

问题是每次我想获取列表框中的值时它只能得到五个项目而不是十个项目。

我在我的列表框上使用 ListItemRenderer

下面是我的代码:

AnnotationConfiguration config = new AnnotationConfiguration();
SessionFactory sessionFactory = config.configure().buildSessionFactory();

Session session = sessionFactory.openSession();
String str = "from Users";
Query q = session.createQuery(str);

List<Users> user = q.list();
session.close();
sessionFactory.close();

list.setModel(new ListModelList<Users>(user));
list.setItemRenderer(new ListitemRenderer() {

    @Override
    public void render(Listitem item, Object data, int index)
            throws Exception {
        Users user = (Users) data;
        item.setValue(user);

        new Listcell(user.getUsername()).setParent(item);
        new Listcell(user.getUserrole()).setParent(item);
    }
});

}

在我的代码下面获取值:

String name ="";
String role ="";

Users user = new Users();
Listbox box = (Listbox) list.getFellow("win").getFellow("list");
List<Listitem> lists = box.getItems();

//membaca setiap row yang ada pada list
for(Listitem currentList : lists){

    List<Component> com = currentList.getChildren();

    //membaca setiap column pada row
    for (Component currentComp : com){
        Listcell lc = (Listcell) currentComp;
        if(lc.getColumnIndex() == 0){
            name = lc.getLabel();
            System.out.println("name = " + name);
        }

        if(lc.getColumnIndex()==1){
            role = lc.getLabel();
            System.out.println("role = " + role);
        }
    }

}

最佳答案

这是正确的行为。列表是 ViewView
正如您所描述的,从来没有超过 5 个 Items

您想要获取模型,因此获取模型

ListModelList lists = (ListModelList)box.getModel();

关于java - 无法从 zk 列表框中检索值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15627373/

相关文章:

c# - 如何使用组合框过滤列表框项目?

c# - 2 x 10 随机生成的数字具有相同的总和 C#

java - 不幸的是,GeoQuiz 已停止在 bignerdranch 工作

java - 一个 pom.xml 文件可以有多个构建标签吗?

java - android是否有任何全局接口(interface)记录应用程序中的每个异常?

java - EntityManager 为空

java - zk如何将参数从java代码传递到zk页面?

java - 如何使用 FlexJSON 序列化 Map<String, List<Object>>

wpf - 更新 WPF ListBoxItem 而不使用 ListBox.Items.Refresh()?

java - zkoss纯java教程