我有一个登录视图,其中包含两个用于用户名和密码的文本字段以及一个指定要使用的数据库的ComboBox。为了允许其他数据库而不是组合框中预定义的数据库,我使用setCustomTextAllowed(true)使其成为可编辑的数据库。每个输入都附有一个输入处理程序,以生成对登录按钮的单击。此按钮的单击处理程序使用字段和组合框的值来进行服务器调用:
login(txtUser.getText(), txtPwd.getText(), cboDatabase.getText())
问题是组合框的getText()如果手动更改并且还没有丢失焦点,则不会返回组合框的实际值。就好像组合框的值在没有焦点之前没有写入模型。相反,它返回在组合框中选择的最新预定义值。如何确保数据库值是用户看到的值?
答案 0 :(得分:0)
我刚刚意识到这不是标准的GWT组件。我想我只是阅读了包的第一部分(org.gwt.advanced.client.ui.widget)并假设它是。我也发现了问题;已经有一个附加到组件的输入处理程序,它自动将最后选择的索引的值复制到文本字段。我还找到了一种方法来使用combobox.setEnterAction(EnterAction.DO_NOTHING)来停用它;有问题的图书馆(我认为):advanced-gwt.sourceforge.net