2012-02-10 37 views

回答

3

我终于得到了答案。在这里发帖可能对其他人有用。我用过

comboxItem.showPicker(); 

实现手动打开选项列表ComboboxItem

+0

虽然(至少在SmartGWT 2.4中),但这似乎不适用于SelectItem。 – 2012-07-04 17:15:25

+0

是否可以检查选取器是否已经打开? – 2016-12-17 01:14:53

+0

@ jewbix.cube,你可以尝试'comboboxItem.getPicker()。isVisible()'? – RAS 2016-12-18 10:24:17

1

在SmartGWT 2.4(我没有检查更新的版本)中,SelectItem的showPicker()方法只显示空的div,而不是选择项目的选择列表。 (它对ComboBoxItem有效,正如RAS的答案所述)。

一些挖掘底层SmartClient代码表明,在JavaScript端,有一个showPickList()方法,当单击图标(或其他事件时)时会调用该方法,但这不会被Java类公开。

所以我用一块JSNI的(从SelectItem.showPicker源代码修改)来调用这个方法:

public static native void showPickList(SelectItem item) /*-{ 
    var jsItem = [email protected]::getJsObj()(); 
    if(jsItem.showPickList) { 
     jsItem.showPickList(); 
    } 
}-*/ 

调用showPickList(item)任何这样的选择列表现在打开选择器。

相关问题