2013-08-27 4 views

ответ

2

Код ниже очищает Listbox, но, возможно, вызывает проблемы, если используется модель:

lb.getItems().clear(); 

Код ниже очищает выбор:

lb.clearSelection(); 

Код ниже устанавливает новую модель, удаляет старый и все элементы. Listbox будет пустым, если модель пуст

lb.setModel(model); 

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

lb.setModel(new ListModelList<>(myList)); 
+0

lb.getItems(). Clear(); не дают необходимого результата, если я вызываю его непосредственно перед новым заполнением данных. Но я замечаю, что данные, которые я очистил lb.getItems(). Clear() снова появится, когда заполнят новые данные в этом ListBox. OMG, слишком много проблем ... (( – vicpro

+0

Использовать setModel(). Это, безусловно, лучший способ. –

1

Если вы видите API

public java.util.List<Listitem> getItems() 

Возвращает живой список всех ListItem. Под живым мы подразумеваем, что вы можете добавлять или удалять их непосредственно с помощью интерфейса List. Другими словами, вы можете добавить или удалить элемент, манипулируя возвращенным списком напрямую.

Так что удаление из этого списка удаляется из списка.

Так в конечном счете, ваша линия будет listbox.getItems().clear();

+0

Странно, это не работает непосредственно перед заполнением новых данных. – vicpro

+0

Как сказал Нибил, вам нужно вызывать явно setModel() после вызова удаления. :) –

0
  • даже с помощью setModel номера страниц в ListBox еще показать предыдущую страницу содержания no.s
  • getItems.clear также оленья кожа ясно номера страниц в ListBox

редактировать:

я нашел окружали золе социологическое загрязнение для этого: , чтобы гарантировать, что даже номера страниц удаляются вместе с элементами списка, один из способов сделать это:

myListbox.setModel (новый ListModelList()); // удаляет элементы данных, устанавливая пустую модель; это необходимо сделать до сброса формы
myListbox.setMold («по умолчанию»); // удаляет номера страниц путем сброса формы

, а затем, когда вам необходимо заполнить данные, вы должны установить формы для поискового вызова и модель с вашим списком данных:

Список разреш = myListData() ; // данные, которые необходимо заполнить в списке
myListbox.setMold ("подкачка");
myListbox.setPageSize (15);
myListbox.setActivePage (0);
myListbox.setModel (новый ListModelList (res));

другой способ, чтобы контролировать видимость контроллера поискового вызова:

eventListbox.getPagingChild() SetVisible (ложь);.

+0

Ответ: – lpapp

+0

нет, это комментарий/комментарий, я еще не нашел решение для очистки zk listbox ALONG с предыдущими номерами страниц – shallow

Смежные вопросы