Функция event.getForm () возвращает другой экземпляр DynamicForm - PullRequest
1 голос
/ 10 января 2012

Я реализовал ChangedHandler интерфейс и переопределил onChanged метод.

     public class ActionHandler implements ChangedHandler { 
     @Override 
     public void onChanged(ChangedEvent event) { 
            FormItem formItem = event.getItem(); 
            DynForm parent = (DynForm) event.getForm(); 
            performAction(parent); 
     } 
     } 

В приведенном выше коде, если событие изменения связано с логическим полем (виджет - флажок), я получаю тот же экземпляр DynForm (в родительской переменной), который я отображал в представлении (то, чтоожидать).Но когда ActionHandler связан с другими типами полей, такими как виджет типа string или selection, я получаю новый экземпляр DynForm (в родительской переменной).

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

На самом деле я расширил DynForm, и в этом классе я установил некоторые параметры, которые мне требуются (в моей функции performAction), в то время как другой formItem запускает свое событие.

Итак, мне требуется один и тот же экземпляр DynForm, который отображается в представлении, во всех случаях, когда это событие вызывается, возможно ли это?

Спасибо.

...