gwt - SmartGWT MenuItem 显示检查 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 后执行,因此元素可以使用 my 中的 ID 检查它们的 ID USER_MANAGER
。
希望这可以帮助有同样问题的人
推荐阅读
- python - NaN 值:我在从数据集中查找 MSE 时出错
- c++ - 为什么此代码在“Visual Studio 2017”中有效,但在“Visual Studio 6.0”中无效
- c++ - 如何使用 cmake 检查 C++ 中的 const 正确性
- javascript - 如何让我的按钮清除前两个表单,然后再次单击时清除最后一个表单?
- asp.net-mvc - 负载均衡器中断外部登录,因为重定向 uri 是 http(不是 https)
- python - “ValueError: Unknown layer: ...” 使用 Tensorflow 调用 copy.deepcopy(network) 时
- c - 计算一行文本中有多少个单词?(在 C 编程语言中)
- swift - 返回 true 的 void 函数中出现意外的非 void 返回值
- javascript - 在 ejs 文件中使用 js 文件中的函数
- regex - Elixir 中的正则表达式捕获组