powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / MultiSelectListbox Primefaces
6 сообщений из 6, страница 1 из 1
MultiSelectListbox Primefaces
    #39013280
SguXa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может кто-нить подсказать как из List<SelectItem> lists вытащить группу.
Сейчас читает с базы и записывает в list данные.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public void set(ListTab selectedListTab) {
        lists = new ArrayList<>();
        List listRegObj = EntityManagerUtils.createNativeQuery(em,
                    "SELECT * FROM REGION").getResultList();
            topLists.add(getGroup("Списки Регионов", listRegObj ));
        
       List listStrObj = EntityManagerUtils.createNativeQuery(em,
                    "SELECT * FROM Street").getResultList();
            topLists.add(getGroup("Списки Улиц", listStrObj ));
}


Метод который парсит данные из запроса и создает группу.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
private SelectItemGroup getGroup(String name, List list) {
        SelectItemGroup group = new SelectItemGroup(name);
        List<SelectItem> items = new ArrayList<>();
        for (Object obj : list) {
            Object[] row = (Object[]) obj;
            items.add(new SelectItem(row[0], row[1].toString()));
        }
        group.setSelectItems(items.toArray(new SelectItem[] {}));
        return group;
    }


Не как не могу понять как вытащить определенную группу что бы к ней уже например добавить ещё одну.
...
Рейтинг: 0 / 0
MultiSelectListbox Primefaces
    #39013417
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SguXaМожет кто-нить подсказать как из List<SelectItem> lists вытащить группу.
Сейчас читает с базы и записывает в list данные.
...
Не как не могу понять как вытащить определенную группу что бы к ней уже например добавить ещё одну.

А почему не использовать стандартный Map?!
Т.е. HashMap<String, List>
...
Рейтинг: 0 / 0
MultiSelectListbox Primefaces
    #39013458
SguXa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mad_nazgul,
можно но но получается тоже самое. Проблема в том что нужно уже в определенной группе например "Списки Улиц" и там уже в распарсенной группе есть SelectItem с улицей Некрасова и нужно к этому блоку добавить ещё один SelectItem например с домами.
...
Рейтинг: 0 / 0
MultiSelectListbox Primefaces
    #39014106
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SguXamad_nazgul,
можно но но получается тоже самое. Проблема в том что нужно уже в определенной группе например "Списки Улиц" и там уже в распарсенной группе есть SelectItem с улицей Некрасова и нужно к этому блоку добавить ещё один SelectItem например с домами.

Тогда почему не воспользоваться стандартными средствами Hibernate или JPA @OneToMany/@ManyToOne?
Все равно используете @Entity?
...
Рейтинг: 0 / 0
MultiSelectListbox Primefaces
    #39014944
SguXa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mad_nazgul,
Решил проблему просто добавив в сборке группу ещё добавления под группы
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
 private SelectItemGroup getGroup(String name, List list) {
        SelectItemGroup group = new SelectItemGroup(name);
        List<SelectItemGroup> newGroups = new ArrayList<>();
        List<SelectItem> regionList = new ArrayList<>();
        for (Object obj : list) {
            Object[] row = (Object[]) obj;

            SelectItemGroup newSelectItemGroup = new SelectItemGroup(row[1].toString());
            List regions = EntityManagerUtils.createNativeQuery(em,
                    "SELECT * FROM REGION).getResultList();

            for (Object region : regions)
            {
                Object[] regionRow = (Object[]) region;
                regionList.add(new SelectItem(regionRow[0], regionRow[1].toString()));
            }

            newSelectItemGroup.setSelectItems(regionList.toArray(new SelectItem[] {}));
            newGroups.add(newSelectItemGroup);
        }
        group.setSelectItems(newGroups.toArray(new SelectItem[] {}));
        return group;
    }



А теперь вопрос остался. Не знаете как сделать, что бы последний бокс был не активный.В смысли, что бы он просто вывел список а выбирать в нем ничего нельзя было
...
Рейтинг: 0 / 0
MultiSelectListbox Primefaces
    #39015481
z3r9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SguXa, посмотри может dropdown подойдет больше. Просто если тебе не нужен выбор в последнем блоке то встает вопрос зачем его вообще выводить в как элемент списка. Можно же просто вывести как текстовую информацию.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / MultiSelectListbox Primefaces
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]