Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Wicket: как сделать селектируемый список? 
:(
    Опции темы
mitrofan
Дата 26.7.2007, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 27.9.2006

Репутация: нет
Всего: нет



Приложение написано при помощи wicket.
Делаю вот такой список, добавляю его на форму

Код

    ....
    ....
    transactions = new ListView("transactions", getTransactionList()) {
      protected void populateItem(ListItem item) {
        CurrencyTransaction transaction = (CurrencyTransaction)item.getModelObject();
        item.add(new Label("transaction.id", String.valueOf(transaction.getId())));
        item.add(new Label("transaction.receiptDate", String.valueOf(transaction.getDate())));
      }
    };
    mainForm.add(transactions);
    ....
    ....


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


Это сообщение отредактировал(а) mitrofan - 26.7.2007, 13:02
PM MAIL   Вверх
mitrofan
Дата 27.7.2007, 05:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 27.9.2006

Репутация: нет
Всего: нет



up
PM MAIL   Вверх
onsh76
Дата 30.7.2007, 05:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 20.11.2005
Где: Beautiful BC

Репутация: 4
Всего: 5



Есть такой класс AttributeModifier,  метод 
Код

Object getObject(Component component) 
которого можно использовать для 
Код

inline CSS tag through the <style></style> element.


Есть альтернатива, наверное даже и проще будет: wicket.behavior.SimpleAttributeModifier класс.
При обработке компонента, представляющего строку таблицы, вклинь (inline) новый css class на строку таблицы, что-то вроде этого:
Код


item.add(new SimpleAttributeModifier("class", "rowHighlighted"));  

PM MAIL   Вверх
mitrofan
Дата 30.7.2007, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 27.9.2006

Репутация: нет
Всего: нет



ага, сработало, спасибо.
PM MAIL   Вверх
onsh76
Дата 30.7.2007, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 20.11.2005
Где: Beautiful BC

Репутация: 4
Всего: 5



Цитата(mitrofan @ 30.7.2007,  10:22)
ага, сработало, спасибо.

Пожалуйста, рад был помочь...  smile 
Вижу теперь - не один я с Wicket-ом балуюсь... Сейчас в издательстве Manning появилась книга Wicket in Action, пока через Manning Early Access Program (MEAP), первая глава на халяву. Это вторая книга про этот фрэймворк, первая была от APress, я честно говоря что-то не в восторге оказался от неё - стиль автора не очень понравился...
Надеюсь, что на сей раз будет получше, оба автора - разработчики Wicket-а...
PM MAIL   Вверх
mitrofan
Дата 1.8.2007, 09:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 27.9.2006

Репутация: нет
Всего: нет



Первая книга действительно беспонтовая(Pro Wicket которая), ниче там полезного не нашел, а вот первая глава этой книги мне очень понравилась, где бы ее теперь целиком взять. smile
Ну ладно, раз я нашел единомышленника тогда сразу следующий вопрос.
В общем ситуация такая: имеем форму, на ней как раз расположен вот этот селектируемый список, а также некоторые другие контролы(в основном TextEdit), которые привязаны к той же модели что и выбранная строка в списке. В общем цель такая - хочется бегать по списку, а в полях чтобы отображались значения из селектируемой строки. Я в списке повесил AjaxEventBehavior("onclick") на онклик, и там меняю модель, к которой привязаны и строка и другие контролы, потом делаю target.addComponent(имя контрола), модель меняется, я проверил, а вот значения в контролах почему-то не хотят.

PM MAIL   Вверх
mitrofan
Дата 2.8.2007, 06:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 27.9.2006

Репутация: нет
Всего: нет



В общем в результате экспериментов суть проблемы свелась к вопросу - "для чего метод setOutputMarkupId у компоненты?", в документации написано "Sets whether or not component will output id attribute into the markup. id attribute will be set to the value returned from getMarkupId(). " Если его установить true, то все работает, значение в контроле перерисовывыется, но блин, а если мне нужно не один контрол перерисовать, а пачкой, че мне каждому этот флажок менять чтоли. Модель у них одна установлена(т.е. меняю модель в одном месте, значения контролов тоже меняются), и в таргет их добавляю по эвенту, но вот если этот флаг не стоит, то хоть заменяйся модель, на форме изменений не увидишь.
PM MAIL   Вверх
mitrofan
Дата 5.8.2007, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 27.9.2006

Репутация: нет
Всего: нет



up
PM MAIL   Вверх
lostinwired
Дата 6.8.2007, 01:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 29.7.2007

Репутация: нет
Всего: 1



У компонента должен быть установлен setOutputMarkupId в true, чтобы его можно было обновлять. Если нужно весь список обновить, ставь только у ListView, если каждый элемент отдельно, то у каждого элемента.

PM   Вверх
lexx2006
Дата 30.6.2008, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 25.11.2006

Репутация: нет
Всего: нет



Привет, всем...вопрос на счет взаимодействия wicket и ajax. 
Использую AjaxLink. Есть html форма с полями ввода данных. Не могу получить значение из поля при нажатии на ентот AjaxLink. Не подскажите что да как?
PM MAIL   Вверх
onsh76
Дата 7.7.2008, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 20.11.2005
Где: Beautiful BC

Репутация: 4
Всего: 5



Цитата(lexx2006 @ 30.6.2008,  13:04)
Привет, всем...вопрос на счет взаимодействия wicket и ajax. 
Использую AjaxLink. Есть html форма с полями ввода данных. Не могу получить значение из поля при нажатии на ентот AjaxLink. Не подскажите что да как?

Извини, но думаю, что будет корректно напомнить, что твой вопрос не совсем стыкуется с топиком. На мой взгляд, нужно новую тему создать...  smile 

В новой теме: опиши, как используется АjaxLink в форме: в качестве кнопки "сабмит" или еще там чего. Маловато деталей...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0649 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.