如何在NatTable中禁止多选 实现仅支持行单选的功能?
NatTable 仅允许单行选择、禁止多选的配置方案
初始化阶段配置(推荐方案)
- 直接在构造
SelectionLayer时通过参数关闭多行多选权限即可,配置后默认拦截Ctrl、Shift触发的多选逻辑:
// SelectionLayer 构造参数说明: // 1. 底层数据层实例:一般传入你的BodyLayerStack/ViewportLayer对象 // 2. columnSelectionAllowed:是否允许选中整列,单行选择场景设为false // 3. rowSelectionMultiAllowed:是否允许多行选择,设为false即可禁止多选 // 4. rowSelectionAllowed:是否允许选中整行,单行选择场景设为true SelectionLayer selectionLayer = new SelectionLayer(bodyLayerStack, false, false, true);
运行时动态调整配置
- 若已经完成NatTable初始化,需要动态切换选择模式,直接修改属性即可生效:
// 关闭行多选权限 selectionLayer.setRowSelectionMultiAllowed(false); // 可选严格配置:直接替换选择模型为单行选择模型,彻底屏蔽所有多选逻辑 selectionLayer.setSelectionModel(new SingleRowSelectionModel<>(selectionLayer));
补充说明:配置生效后,所有批量选择操作都会自动失效,每次点击仅会选中单行,原有多选的选中项会自动清空仅保留当前点击行的选中状态
内容的提问来源于stack exchange,提问作者dammuck
相关产品推荐
相关产品推荐

