我正在使用SmartGWT 2.5和Java& Mozilla FF 3.6.x. 我想手动打开 ComboboxItem 的 pickList 或 SelectItem ,这意味着以编程方式。可能吗?如果我需要使用JavaScript来实现这一点,那就没关系。任何提示或解决方案都表示赞赏。
答案 0 :(得分:3)
我终于得到了答案。在此处发布可能对其他人有用。我用过
comboxItem.showPicker();
实现手动打开ComboboxItem
。
答案 1 :(得分: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 = item.@com.smartgwt.client.core.DataClass::getJsObj()();
if(jsItem.showPickList) {
jsItem.showPickList();
}
}-*/
现在为任何此类选择列表调用showPickList(item)
会打开选择器。