В SmartGWT 2.4 (я не проверял более новые версии), метод showPicker()
SelectItem показывает только пустой div, а не список выбора элемента select. (Это работает для ComboBoxItem, как указано в ответе RAS).
Некоторые исследования основного кода SmartClient показали, что на стороне JavaScript существует метод showPickList()
, который вызывается при щелчке значка (или при некоторых других событиях), но он не предоставляется классом Java.
Итак, я использовал кусок JSNI (модифицированный из исходного кода SelectItem.showPicker
) для вызова этого метода:
public static native void showPickList(SelectItem item) /*-{
var jsItem = item.@com.smartgwt.client.core.DataClass::getJsObj()();
if(jsItem.showPickList) {
jsItem.showPickList();
}
}-*/
При вызове showPickList(item)
для любого такого списка выбора теперь открывается средство выбора.