2012-02-10 62 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)任何這樣的選擇列表現在打開選擇器。

相關問題