如何在所有行中只能选择一个的网格中添加一列复选框?

How to add a column of checkbox in a grid where only one can be selected across all rows?

我有一个带复选框列的内联可编辑网格。我如何确保所有行中只有一个复选框被选中?每当用户选中一个复选框时,之前选中的复选框(如果有)默认情况下应该取消选中。

假设您正在谈论 Sencha GXT,以下代码将起作用:

创建一个 IdentifyValueProvider 和一个 SelectionModel:

IdentityValueProvider<M> identity = new IdentityValueProvider<M>();
final CheckBoxSelectionModel<M> selectionModel = new CheckBoxSelectionModel<M>(identity);

将复选框列添加到您的网格:

columns.add(selectionModel.getColumn());

并将 SelectionModel 添加到网格中:

grid.setSelectionModel(selectionModel);

将选择模式设置为 SINGLE 将解决您的需求:

grid.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);

希望对您有所帮助。