【问题标题】:GWT- PopupPanel with search?GWT- 带有搜索功能的 PopupPanel?
【发布时间】:2013-08-01 17:24:04
【问题描述】:

我正在寻找一种方法来创建一个弹出对话框,当用户双击一个文本输入字段时,该字段将包含一个可滚动列表(来自数据库表),用户可以在其中选择一个字段,点击确定,然后拥有它弹出窗口关闭时放入文本框中。

另一个主要要求是在弹出窗口中有一个过滤器/或搜索字段,以帮助用户更快地找到正确的选项。

实现这一点的最佳方法是什么?

修改gwt的弹出面板?也许是 JOptionPane?有没有设计用于免费商业用途的简单解决方案?

【问题讨论】:

    标签: java gwt search joptionpane popuppanel


    【解决方案1】:

    您可以使用com.google.gwt.user.client.ui.PopupPanel 来实现这一点。您可以创建一个包含 ListBox 的 PopupPanel,其中包含来自数据库的数据以及一个确定按钮。当用户选择一个值并点击 OK 时,您应该 utilize an EventBus 以及一个将值传递到页面上的字段的自定义事件。该页面将有一个事件处理程序,它将捕获事件并将其放入字段中。

    另一种选择是使用com.google.gwt.user.client.ui.SuggestBox。这是一个在您键入时自动完成/建议值的框,有点像 Youtube 搜索栏。

    如果您愿意,我可以提供更多资源来帮助您完成此任务。

    【讨论】:

    • 感谢您的意见!一些澄清:列表框是一个下拉菜单,对吗?我已经在用户双击的字段上使用了一个列表框,但是由于其中有超过 20 个选项,如果需要,用户想要一个弹出菜单来增强 UI。所以它需要是一个固定的、可滚动的列表。建议框也不起作用。它需要是在按下搜索时缩小“可滚动列表”的搜索(这将是弹出窗口中的一个附加按钮)。
    • 对于一个固定的、可滚动的列表,您可以使用com.google.gwt.user.client.ui.VerticalPanel 并将您的项目添加到其中,以便它们垂直排列。然后,您将其包装在 com.google.gwt.user.client.ui.ScrollPanel 中以使其可滚动。然后,您可以将该 ScrollPanel 放在 PopupPanel 中,当用户双击时显示它会弹出。这是最简单的方法,但您可以通过 CSS 避免使用 ScrollPanel。
    • 很酷,但是如何根据弹出面板中的用户搜索来缩小列表框选项的范围?例如:如果列表框选项是“fish”“fly”“fiddle”并且用户搜索“fi”,则列表框需要重新填充“fish”和“fiddle”作为可选选项。
    • 我想我会让文本输入(搜索字段)提交“fi%”的 SQL 查询并将结果发送到列表框以显示?
    猜你喜欢
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 2012-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多