【发布时间】:2015-01-13 02:35:53
【问题描述】:
使用 GWT 2.6.1、UiBinder、DataGrid。
还使用 SingleSelectionModel 选择单行:
final SingleSelectionModel<User> selectionModel = new SingleSelectionModel<>(keyProvider);
复选框列:
// checkboxes
Column<User, Boolean> checkBoxColumn = new Column<User, Boolean>(
new CheckboxCell(false, false)) {
@Override
public Boolean getValue(User user) {
return user.isChecked();
}
};
checkBoxColumn.setFieldUpdater(new FieldUpdater<User, Boolean>() {
@Override
public void update(int index, User user, Boolean value) {
user.setChecked(value);
}
});
所以我将“已检查”用户状态存储为用户实体类中的布尔字段,没有 完全使用 SelectionModel。
现在我需要实现自定义标题复选框以选择/取消选择列中的所有复选框。
public class CheckboxHeader extends Header<Boolean> {
public CheckboxHeader(CheckboxCell cell) {
super(cell);
}
@Override
public Boolean getValue() {
return null;
}
}
不知道如何正确实现此标题类以在 DataGrid 中添加列:
dataGrid.addColumn(checkBoxColumn, new CheckboxHeader(new CheckboxCell(false, false)));
另一个麻烦是通过选中其他复选框来启用/禁用所有这些复选框
不在 DataGrid 中。
如何从列/selectionmodel/etc 中检索所有复选框并一一启用/禁用它们?
感谢任何建议。
【问题讨论】:
标签: java user-interface gwt checkbox datagrid