SmartGWT MenuItem show选中canSelect(false)

时间:2018-06-26 13:39:56

标签: gwt menuitem smartgwt

我的SmartGWT应用程序有问题。

我应该在菜单中显示不同的组织,以便用户可以看到它们并可以更改其组织。

但是,事实是,他应该看到活动的组织,看到特定的组织处于活动状态,但他不能单击它。

到目前为止,这是我的代码:

if(menuItemList[location].getAttribute("id").equals(USER_MANAGER.getUserOrganisation())){
    menuItemList[location].setChecked(true);
    menuItemList[location].setCanSelect(false);
}else{
    menuItemList[location].setChecked(false);
    menuItemList[location].setCanSelect(true);
}

问题是,如果MenuItem为“ canSelect(false)”,则SmartGWT不会显示Checked-Icon(选中标记)。

生成的HTML代码也没有什么区别,让我看看MenuItem是否与活动组织相同。

有人有解决方法吗,或者知道我做错了吗?

1 个答案:

答案 0 :(得分:0)

我找到了解决方法:

我要使用错误的事件处理程序。

由于我让MenuItem是通过DataSource而不是直接生成的,因此这些元素在执行代码时不存在

以前我曾经使用过DrawHandler(),而元素目前没有ID(至少我认为是这样)。

这就是为什么我的if(){}else{}无法按照我的意愿去做的原因。

但是使用MembersChangedEvent,代码会在Element获得其ID之后执行,因此Element可以使用我的USER_MANAGER中的ID来检查其ID。

希望这可以帮助遇到相同问题的人