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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用SmartGWT手动/编程打开ComboboxItem / SelectedItem的pickList?相关的知识,希望对你有一定的参考价值。

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

答案

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

comboxItem.showPicker();

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

另一答案

在SmartGWT 2.4中(我没有检查更新的版本),SelectItem的showPicker()方法只显示一个空div,而不是选择项的选择列表。 (它适用于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)任何这样的选择列表打开选择器。

以上是关于如何使用SmartGWT手动/编程打开ComboboxItem / SelectedItem的pickList?的主要内容,如果未能解决你的问题,请参考以下文章

缓存 SmartGWT 应用程序的静态内容

是否可以在 smartgwt 中使用 gwt rpc?

SmartGWT 库的 UnsatisfiedLinkError

SmartGWT 数据源和 CORS

smartgwt + gwt-rpc 或 REST + spring

smartgwt 保存图像文件而不是在浏览器中显示