我的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是否与活动组织相同。
有人有解决方法吗,或者知道我做错了吗?
答案 0 :(得分:0)
我找到了解决方法:
我要使用错误的事件处理程序。
由于我让MenuItem是通过DataSource而不是直接生成的,因此这些元素在执行代码时不存在
以前我曾经使用过DrawHandler()
,而元素目前没有ID(至少我认为是这样)。
这就是为什么我的if(){}else{}
无法按照我的意愿去做的原因。
但是使用MembersChangedEvent
,代码会在Element获得其ID之后执行,因此Element可以使用我的USER_MANAGER
中的ID来检查其ID。
希望这可以帮助遇到相同问题的人