powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Vaadin Combobox не устанавливает текущую запись
15 сообщений из 15, страница 1 из 1
Vaadin Combobox не устанавливает текущую запись
    #38257205
зубок александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто нибудь подскажет что не так делаю.
Пытался и в явном виде ComboBox.setvalue(Обект1) и через контейнер вязал - но через контейнер еще хуже
У меня 2 сущности причем вторая относится к первой как много к 1 (юзаю Hibernate 4 и Vaadin JPAContaner) - тогда вообще если ставлю в контейнер Persistense1.getpersistense2() и потом контейнер цепляю к комбобоксу как
ComboBox1.SetDataContainer(JPAContainer1) то влезает ошибка кастинга.

В обоих случай ставлю конечто же и Combobox1.SetImmediate(true) и SetItemCaption("нужное поле").

Интсрументарий - Vaadin 6, eclipse indigo, tomcat 5.5, mysql 5.1, win xp


Проблема именно в том что combobox не показывает текущее значение.
Добавлял тупо через Combobox1.additem(Persistence1.getpersistence2()) в цикле и на нужном setvalue

Без всяких контейнеров. Та же история - добавляет все значения но выбранным никакое не делает.

На ваадиновском форуме прямого ответа нет
И также вопрос знатокам данного фреймворка - насколько JPA Container облегчает жизнь и вообще его осмысленность?
...
Рейтинг: 0 / 0
Vaadin Combobox не устанавливает текущую запись
    #38257245
зубок александр,

Вот рабочий код из моего проекта.

Код: java
1.
2.
3.
4.
5.
6.
            entityField.setContainerDataSource( JPAContainerFactory.make( type, em ) );
            entityField.setItemCaptionPropertyId( "name" );
            entityField.setFilteringMode( FilteringMode.CONTAINS );
            entityField.setItemCaptionMode( AbstractSelect.ItemCaptionMode.PROPERTY );
            entityField.setConverter( new SingleSelectConverter( entityField ) );
            entityField.setImmediate( true );
...
Рейтинг: 0 / 0
Vaadin Combobox не устанавливает текущую запись
    #38257315
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно, у меня все работает. Контейнеры для комбобоксов не использую, даю ему просто массив объектов сущностей.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
   private void setPayerCB() {
        String nullitem = "Все клиенты";
        payerCb.removeAllItems();
        payerCb.addItem(nullitem);
        payerCb.setNullSelectionItemId(nullitem);
        payerCb.setImmediate(true);
        payerCb.setWidth("300px");
        payerCb.setInvalidAllowed(false);
        payerCb.setNullSelectionAllowed(true);
        payerCb.setNewItemsAllowed(false);
        c = cp.getUsersContactorsForCombo(u, false);
        for (int i = 0; i < c.length; i++) {
            Contractors c1 = c[i];
            payerCb.addItem(c1);
        }
        if (contractorFromSession != null) {
            payerCb.setValue(contractorFromSession);
            payer = contractorFromSession;
        }
        payerCb.addListener(new ValueChangeListener() {
            @Override
            public void valueChange(ValueChangeEvent event) {
                if (event.getProperty().getValue() != null) {
                    payer = (Contractors) event.getProperty().getValue();
                }
            }
        });
    }
...
Рейтинг: 0 / 0
Vaadin Combobox не устанавливает текущую запись
    #38257317
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может у вас setImmediate нет или вы дисейблите комбобокс до установки значения или еще что-то...
...
Рейтинг: 0 / 0
Vaadin Combobox не устанавливает текущую запись
    #38257477
зубок александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nixic,

спасибо огромное! Гляну на расхождения мой код с Вашим как с больничного вылезу. Дома у меня его нет. А с работы по русски не удобно писать по орг причинам.

Изначально я нечто подобное делал именно без контейнера. По сути мне и без него не плохо но руководство очень уж за него уцепилось.

И такой вопрос правда по хибернейту а не по ваадин - насколько энтитименеджер функциональнее сессии - у меня с сессией изначально лучше получалось в этом проекте дружить но сессию не пришпилить к ваадиновскому контейнеру.
...
Рейтинг: 0 / 0
Vaadin Combobox не устанавливает текущую запись
    #38257802
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зубок александр,

я наверное не понял про какую сессию вы пишите (почти два месяца не программил толком :) ).
ЕнтитиМенеджер используется по сути для работы с БД, а сессия в моем понимании это объект сеанса связи с параметрами которые можно получить или записать в него...
Или вы про сравнение ЕнтитиМенеджера и работу через JDBC и Connection и разные драйвера БД?
...
Рейтинг: 0 / 0
Vaadin Combobox не устанавливает текущую запись
    #38257852
зубок александр,

Без контейнера хорошо живется пока все в проекта маленькое и пользователи совершенно не прихотливые.
Первое, у вас записей в списке несколько тысяч и продолжает увеличиваться...
Как вы будете это решать? Все руками? Бить на куски, ленивая подгрузка и все такое...
Это конкретный гемор.
Второе, вам надо изменить одну запись в таблице. Вы как привыкли, лезете за хибернейтовской сессией, получаете обновленный список.. все ручками и ручками...
Все по дедовски.

С контейнером вообще все красиво. И ленивая загрузка и изменение записей без обновления всей таблицы и т.д. Понимание всех нюансов приходит со временем и ростом проекта.
В какой-то момент "щелкает" и ты понимаешь как оно все фунциклирует и понимаешь, что писать ручками кучу кода, вместо пары строчек с контейнером, это профанция.

Контейнеры то не просто так изобретают разные.
...
Рейтинг: 0 / 0
Vaadin Combobox не устанавливает текущую запись
    #38260154
зубок александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nixic,

Нет я именно про объект Session который имеется в наличии у хибернейт.

И именно через него и работаю. Никаких прямых запросов через odbc. Хотя кое где использую объект SQLQuery но он тоже хибернейтовский. Иногда просто прямыми запросами как то сподручнее - м б с непривычки.
...
Рейтинг: 0 / 0
Vaadin Combobox не устанавливает текущую запись
    #38260200
зубок александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ищущий Знания,

тогда пара вопросов 1 я уже задавал в неявном виде - дочернюю сужность можно в контейнер подбросить и потом пришпилить к нему комбобокс или не взлетит?

авторPersistense1.getpersistense2() и потом контейнер цепляю к комбобоксу как
ComboBox1.SetDataContainer(JPAContainer1) то влезает ошибка кастинга.

собственно вот о чем вопрос. Как сие правильно сделать.
И второй более глобальный вопрос
У меня в программе главный формуляр такая огромная таблица типо экселевской (предок проги и есть большая экселевская таблица с кучей макросов) причем ячейки в ней ваадинские компоненты (tetxtfield и в меньшей степени checkbox) с лиснерами. В лиснерах и меняются значения. Мало того если при открытии данного формуляра каких либо значений нет - не сформированы сами записи в БД то будут выдаваться компоненты с нулями. И по нажатию кнопки сохранить если данные поля до того обработаны не были - т е листнер не вступал в игру то и записи не будут сформированы.
В итоге должны схораняться либо добавляться только поля обработанные в листенрах - т е те кторые пользователь поменял.

Сейчас у меня сии операции без контейнера прекрасно отрабоатывают через хибернейт - для таких целей он годится идеально.

Контейнер позволит решить такую проблему? И такой момент - данный формуляр несколько юзеров будут обрабатывать одновременно - ну к примеру кто то строки 1-100 кто то 200-10000 и так далее. ПРичем формально каждый пользователь может поправить любое поле - разделений нет. ПРи ручной обработке такое конечно прекрасно реализуется. Ну если какой либо пользователь поправил только что сохраненное другим юзером поле- ну будет фидно последнее значение - не страшно. Не будет ли контейнер после сохранения тупо переписывать по новой весь формуляр?
...
Рейтинг: 0 / 0
Vaadin Combobox не устанавливает текущую запись
    #38262948
зубок александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nixic,

Спасибо, взлетело. Вероятно что то недовыставил где-то в настройках комбобокса. Стащил с Вашего примера почти не переписывая - катит
...
Рейтинг: 0 / 0
Vaadin Combobox не устанавливает текущую запись
    #38273151
зубок александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nixic,

И еще вопрос - как комбобок сделать прозрачным - я вчера попробовал поиграться с его css - не выходит каменный цветок -выставлял backgroun-color : transparent - на синем поле все равно белый - и поле и кнопка - в курсе что комбобокс там составной и у кнопки и поля свои стили
...
Рейтинг: 0 / 0
Vaadin Combobox не устанавливает текущую запись
    #38273182
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зубок александр,

ну через java точно никак, к примеру таблицы я раскрашивал через css, добавляя свои классы в style.css у темы. Как конкретно у комбобокса что-то поменять фз, надо смотреть через страницу с компонентом.
...
Рейтинг: 0 / 0
Vaadin Combobox не устанавливает текущую запись
    #38273752
зубок александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nixic,

Да полосатость таблицы у меня как раз получается а вот комбобокс в ней что то не раскрашивается - естессно все через CSS.


Ну хорошо хоть правильно выбрал путь - исследовать css и рисовать свои стили с такми же названиями поверх.


А такой вопрос - setstylename насколько эффективен для компонент ваадин? А то я что пробовал - как то эффекта не приносит - не то что перекрыть стили тупо через .имя стиля в подгруженном поверх css.

Там речь шта о размере шрифта у textfield
...
Рейтинг: 0 / 0
Vaadin Combobox не устанавливает текущую запись
    #38273875
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зубок александр,

ну вот допустим главный лайаут у меня в проекте работает - mainVL.setStyleName("lightblue");
а вот таблицы через - table.addStyleName("colored-table");
...
Рейтинг: 0 / 0
Vaadin Combobox не устанавливает текущую запись
    #38274034
зубок александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nixic,

ну так что то у меня тоже работает но когда идет перехлест с кучей стандартных ваадиноских css - те же шрифты компонент как то не отрабатывают. Например если текстовое поле лежит на вертикальном слое то отрабатывает а вот уже на слое который в табличке или внутри нескольких слоев как то не очень
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Vaadin Combobox не устанавливает текущую запись
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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