SmartGWT MenuItem show Checked on canSelect(false)

SmartGWT MenuItem show Checked on canSelect(false)

我的 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 是否与活动组织相同。

有没有人有解决方法或知道我做错了什么?

我找到了解决方案:

我为我想做的事情使用了错误的事件处理程序。

因为我让 MenuItem 使用 DataSource 而不是直接生成,所以这些元素在代码执行时不存在

以前我使用过 DrawHandler() 并且元素目前还没有 ID(至少我是这么认为的)。

这就是为什么我的 if(){}else{} 不会如我所愿。

但是对于 MembersChangedEvent,代码在元素获得其 ID 后执行,因此元素可以使用我的 USER_MANAGER.

中的 ID 检查它们的 ID

希望这对遇到同样问题的人有所帮助