如何使用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 库的 UnsatisfiedLinkError