我有CellList
:
friendCellList = new CellList<PlayerDataEntity>(new PlayerCell());
friendCellList.setSelectionModel(new NoSelectionModel<PlayerDataEntity>());
我希望传递NoSelectionModel
会阻止用户界面对用户选择单元格列表中的项目作出反应。但是,用户可以正常选择元素。我没有正确应用选择模型吗?
答案 0 :(得分:3)
来自NoSelectionModel的Javadoc:
选择模型,不允许选择,但会激活选择更改 事件。如果您想知道用户何时选择项目,请使用此模型 不希望视图根据选择进行更新。
它的作用是:在标准主题中,这将导致行不再以蓝色突出显示(“cellListSelectedItem”样式类)。但是,它仍将以黄色突出显示(“cellListKeyboardSelectedItem”样式类)。此外,SelectionChangeEvent仍将被触发。
要关闭SelectionChangeEvent,请使用
cellList.setSelectionModel(new NoSelectionModel<String>(),
DefaultSelectionEventManager.<PlayerDataEntity>createWhitelistManager());
没有参数的白名单管理器意味着您无法选择任何列。
如果您还想关闭“黄色”突出显示,则应使用不同的CellList.Resources实例实例化CellList:
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:
.cellListEvenItem {}
.cellListKeyboardSelectedItem {}
.cellListOddItem {}
.cellListSelectedItem {}
.cellListWidget {}