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
希望这对遇到同样问题的人有所帮助
我的 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
.
希望这对遇到同样问题的人有所帮助