2013-08-01 98 views
0

我正在尋找一種方式來創建一個彈出式對話框,當用戶雙擊一個textinput字段將包含一個滾動列表(從數據庫表),其中用戶可以選擇一個字段,點擊確定,並讓它放置在彈出關閉時進入文本框。帶搜索功能的GWT PopupPanel?

另一個主要要求是在彈出窗口中有一個過濾器/或搜索字段,以幫助用戶找到正確的選項從更快的選擇。

實現此目的的最佳方法是什麼?

修改gwt的彈出窗口?也許是一個JOptionPane?有沒有簡單的解決方案已經設計爲免費商業用途?

回答

0

你可以用com.google.gwt.user.client.ui.PopupPanel來實現這個。您可以創建一個PopupPanel,其中包含一個ListBox以及來自數據庫的數據以及一個OK按鈕。當用戶選擇一個值並點擊確定時,您應該將utilize an EventBus連同自定義事件一起傳遞給頁面上的字段。該頁面將有一個事件處理程序,它將捕獲該事件並將其放入該字段中。另一種選擇是使用com.google.gwt.user.client.ui.SuggestBox。這是一個盒子,可以在您鍵入時自動填充/建議值,類似於Youtube搜索欄。

如果您願意,我可以提供更多資源來幫助您完成此操作。

+0

感謝您的輸入!一些澄清:列表框是一個下拉菜單,是否正確?我已經在字段上使用了一個列表框,用戶可以雙擊該列表框,但由於其中有超過20個選項,用戶需要一個彈出式菜單來增強UI(如果需要)。所以它需要是一個固定的,可滾動的列表。此外,這個提示框不起作用。它需要是一個搜索,按下搜索時縮小「可滾動列表」(這將是彈出窗口中的另一個按鈕)。 – TheJavaBeast

+0

是的,列表框是一個下拉菜單,[但它也有一個「多個」選項,將其轉換爲顯示多個項目的框](http://www.gwtproject.org/doc/latest/RefWidgetGallery。 HTML#列表框)。 – Churro

+0

對於一個固定的可滾動列表,您可以使用'com.google.gwt.user.client.ui.VerticalPanel'並添加項目,使它們垂直排列。然後,您可以將其包裝在一個'com.google.gwt.user.client.ui.ScrollPanel'中以使其可滾動。然後,您可以將該ScrollPanel放置在PopupPanel中,並在用戶雙擊時彈出。這是最簡單的方法,但是您可以避免使用CSS來使用ScrollPanel。 – Churro