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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> GWT GXT Form get values, как вытащить данные с активного таба? 
:(
    Опции темы
Atum
Дата 15.5.2014, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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

Есть набор табов - на активном табе у нас заполнена форма , мне нужно получить данные из этой формы (заполненную модель)

проблема в том что   ActiveWidget вернет мне VerticalLayoutContainer ,а не мою форму ?! 

плюс проблема каста интерфейса IsWidget и класса Widget.

Код

                 Widget activeTab = tabPanel.getActiveWidget();
                 IRequestModel form = (IRequestModel) activeTab;

com.google.gwt.event.shared.UmbrellaException: Exception caught: com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer cannot be cast to ru.stoloto.testtool.gwt.httpext.client.forms.IRequestModel    at com.google.gwt.event.shared.HandlerManager.fireEvent(HandlerManager.java:129)    at com.google.gwt.user.client.ui.Widget.fireEvent(Widget.java:129)    at com.google.gwt.event.dom.client.DomEvent.fireNativeEvent(DomEvent.java:116)    at com.google.gwt.user.client.ui.Widget.onBrowserEvent(Widget.java:177)



Есть абстрактная форма - для биндинга на огромную модель RequestModel: 

IRequestModel - маркет интерфейс

Код

public abstract class RequestFormEditor implements IsWidget, Editor<RequestModel>,IRequestModel {

    interface RequestFormDriver extends SimpleBeanEditorDriver<RequestModel, RequestFormEditor> {
    }
    private RequestFormDriver driver = GWT.create(RequestFormDriver.class);
    protected VerticalLayoutContainer p;


    public RequestFormDriver getDriver() {
        return driver;
    }
    
    
}


модель с кучей полей :
Код

public class RequestModel implements  Serializable {
        
    private static final long serialVersionUID = 1L;

    public RequestModel(int massegeId) {
        this.id = massegeId;
    }
    
    private int id;
    //
    private int
    private int
    private int
    private String 
    private int 

    public int get...

    public void set...

    }


и так для реализации конкретной формы мы создаем наследника класса RequestFormEditor 
с конкретной моделью - набором полей 


Код

public class Form1 extends RequestFormEditor {

    public Form1() {
    }
    
    
    private TextField textField1;
    private TextField textField2;
    private TextField textField3;
...

    protected RequestModel requestModel = new RequestModel(1); //  определяем тем самым какая часть модели будет заполнена.


@Override
    public Widget asWidget() {
        if (p == null) {


            p = new VerticalLayoutContainer();

             // поля конкретной формы 
....
}


    @Override
    public RequestModel getModel() {
      requestModel =   getDriver().flush();
      return requestModel;
    }




код создания форм
Код

 Form1 form1 = new Form1();
        tabPanel.add(form1, new TabItemConfig("FormId 1"));


 Form2 form2 = new Form2();
        tabPanel.add(form2, new TabItemConfig("FormId 2"));


вопрос как вытащить с активной формы заполненную модель (заполненные поля)
PM MAIL   Вверх
Mirkes
Дата 20.5.2014, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вопрос не совсем понятен. Если вопрос как из JTabbedPane получить активную закладку?
Тогда getSelectedComponent() или getSelectedIndex()
Далее все понятно, поскольку компоненты - потомки одного предка. Берете и разбираете. Правда я лучше бы добавил в предка метод типа дай контент и получал список пар - имя поля, значение.
Вроде так можно поступать. По крайней мере однажды я так разбирался.


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

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

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


 




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


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

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