首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用CellList禁用选择

使用CellList禁用选择
EN

Stack Overflow用户
提问于 2012-05-14 20:57:15
回答 1查看 1.1K关注 0票数 2

我有一个CellList

代码语言:javascript
复制
friendCellList = new CellList<PlayerDataEntity>(new PlayerCell());
friendCellList.setSelectionModel(new NoSelectionModel<PlayerDataEntity>());

我希望传递NoSelectionModel将防止UI对用户选择单元格列表中的项作出反应。但是,用户能够正常地选择元素。我没有正确地应用选择模型吗?

EN

回答 1

Stack Overflow用户

发布于 2012-05-15 11:35:44

来自NoSelectionModel的Javadoc:

--不允许选择的选择模型,但触发选择更改事件。如果希望知道用户何时选择某项,但不希望根据所选内容更新视图,请使用此模型。

这就是它所做的:在标准主题中,这将导致行不再以蓝色高亮显示("cellListSelectedItem“样式类)。但是,它仍将被高亮显示为黄色("cellListKeyboardSelectedItem“样式类)。此外,SelectionChangeEvent仍将被解雇。

若要关闭SelectionChangeEvent,请使用

代码语言:javascript
复制
cellList.setSelectionModel(new NoSelectionModel<String>(), 
  DefaultSelectionEventManager.<PlayerDataEntity>createWhitelistManager());

没有参数的白名单管理器意味着您不能选择任何列。

如果还想关闭“黄色”高亮显示,则应该使用不同的CellList实例实例化CellList.Resources:

代码语言:javascript
复制
public interface MyResources extends CellList.Resources {
  @Override
  @Source("com/mypackage/my.css")
    Style cellListStyle();
}
...
friendCellList = new CellList<PlayerDataEntity>(new PlayerCell(),
    (MyResources) GWT.create(MyResources.class);

my.css:

代码语言:javascript
复制
.cellListEvenItem {}
.cellListKeyboardSelectedItem {}
.cellListOddItem {}
.cellListSelectedItem {}
.cellListWidget {}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10590922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档