2013-03-26 3 views
0

Допустим у меня есть ListBox, который содержит десять пунктов, а затем я установил пять пунктов для каждой страницы, так что теперь ListBox есть две страницыНе удается получить значения из гк ListBox

и проблема каждый раз я хочу чтобы получить значение в списке, он получает только пять элементов вместо десяти элементов.

им с помощью ListItemRenderer на My Listbox

ниже мой код:

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); 
     } 
    } 

} 
+1

Потому что ваш новый так: если кто-то awnsers свой вопрос, пожалуйста, если у нравится awnser upvote, если он решит вашу проблему принять, если она должна быть улучшена, напишите комментарий, если он Nonsens downvote и комментарий. Ty –

ответ

1

Это правильно поведение. Список - View, а View
никогда не имеет более 5 Items, как вы описали.

Вы хотите получить Model, так что получите Model.

ListModelList lists = (ListModelList)box.getModel(); 
Смежные вопросы