如何使用SmartGWT手动/编程打开ComboboxItem / SelectedItem的pickList?

问题描述 投票:3回答:2

我正在使用带有Java和Mozilla FF 3.6.x的SmartGWT 2.5。我想手动打开ComboboxItem或SelectItem的pickList,这意味着以编程方式。可能吗?如果我需要使用JavaScript来实现这一点,那就没关系。任何提示或解决方案表示赞赏。

java combobox smartgwt
2个回答
3
投票

我终于得到了答案。在此处发布可能对其他人有用。我用过

comboxItem.showPicker();

实现手动打开ComboboxItem的选项列表。


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)任何这样的选择列表打开选择器。

© www.soinside.com 2019 - 2024. All rights reserved.