2013-06-05 111 views
0

我正在使用UploadItem,RadioGroupItem和一些其他窗口小部件。 RadioButton具有onChangeHandler,它將決定所有其他組件需要顯示的內容。我已經使用UploadItem上傳了一些文件。然後我改變了單選按鈕選擇。在更改單選按鈕時,所需的小部件正在正確顯示,但使用UploadItem選擇的任何文件都將消失。新鮮的UploadItem小部件正在顯示。換句話說,頁面正在刷新。 我的要求是每當我改變單選按鈕選項時,所需的小部件應該隨着我使用UploadItem選擇的任何文件保持相同而顯示。 我的代碼是這樣的:單選按鈕更改處理程序刷新頁面

UploadItem upload = new UploadItem(); 
RadioGroupItem radioGroup = new RadioGroupItem(); 
HashMap map = new HashMap(); 
map.put("option1","option1"); 
map.put("option2","option2"); 
radioGroup.setValueMap(map); 
TextItem textbox = new TextItem(); 
radioGroup.addChangeHandler(new ChangeHandler(){ 
      public void onChanged(ChangedEvent event) { 

        String radioValue =((String)event.getValue()); 
        if(radioValue.equalsIgnoreCase("option2")){ 

          textbox.show(); 

        }else{ 
          textbox.hide(); 
        } 
      } 
}); 

添加使用dynamicForm.setFields所有創建的小部件DynamicForm對象(所有創建的小部件) 改變無線電按鈕應該隱藏和顯示文本框。但是在做這個頁面的時候會刷新,我們使用UploadItem選擇的任何文件都會丟失。

+0

向我們展示代碼。 – RAS

+0

在問題 – Krishna

回答

0

消防無線電選擇改變的事件作爲

radioButton.addListener(Events.Change, new Listener<BaseEvent>() { 

     @Override 
     public void handleEvent(BaseEvent be) { 
      if(radioButton.getValue()){ 
       //fire an event here for ur widget 
      } 
     } 
    }); 
+0

添加代碼示例嗨Swamy我已經在問題中編輯並給出代碼示例。請檢查。 – Krishna

2

按照該文檔hide()和FormItem類,任何這些方法的調用show(),將導致DynamicForm重繪。

因此,它可能會導致您遇到的問題。

爲了解決這個問題,我建議你把UploadItem放在一個單獨的DynamicForm中。

相關問題