如何使用SmartGWT手动/编程打开组合框项目的pickList/SelectItem



我将SmartGWT2.5与Java&Mozilla FF 3.6.x。我想手动打开ComboboxItemSelectItemickList,这意味着用程序。有可能吗?如果我需要使用JavaScript来实现这一点,那也没关系。任何提示或解决方案都将不胜感激。

我终于得到了答案。在这里张贴它可能对其他人有用。我用过
comboxItem.showPicker();

以实现CCD_ 1的拾取列表的手动打开。

在SmartGWT 2.4中(我没有检查更新的版本),SelectItem的showPicker()方法只显示一个空div,而不是选择项的pick列表。(正如RAS的回答所提到的,它确实适用于ComboBoxItem)。

对底层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)将打开该选择器。

最新更新