Как открыть pickList ComboboxItem / SelectItem вручную / программно с помощью SmartGWT? - PullRequest
3 голосов
/ 10 февраля 2012

Я использую SmartGWT 2.5 с Java и Mozilla FF 3.6.x. Я хочу открыть pickList из ComboboxItem или SelectItem вручную, что означает программно. Является ли это возможным? Это нормально, если мне нужно использовать JavaScript для достижения этой цели. Любая подсказка или решение приветствуется.

Ответы [ 2 ]

3 голосов
/ 12 февраля 2012

Я наконец получил ответ.Размещение здесь может быть полезным для других.Я использовал

comboxItem.showPicker();

для ручного открытия списка выбора ComboboxItem.

1 голос
/ 06 июля 2012

В 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) для любого такого списка выбора теперь открывается средство выбора.

...