我正在使用带有MultiSelectionModel的GWT DataGrid。GWT DataGrid:同时使用CheckboxCell选择和标准行模式选择
网格的项目的选择应当由
a)一种CheckboxColumn在同一时间CheckboxCell
和另外通过
b)中的标准来实现在线模式选择 - 型号(通过点击该行的其余部分)。
使用CheckboxColumn,应该启用用户以多选不同的条目。但是当在数据网格线上的其他地方点击时,应该完成单行选择策略,这意味着如果在使用复选框之前完成了多项选择,则应该重置该选择,并且只有被点击的行应该之后选择。
这就是我所拥有的。有谁知道如何同时启用复选框模式和行选择模式?
public class JobDataGrid extends DataGrid<Job>
{
private MultiSelectionModel<Job> selectionModel;
private Column<Job, Boolean> checkboxColumn;
private TextColumn<Job> idColumn;
private TextColumn<Job> titleColumn;
private TextColumn<Job> timestampColumn;
private TexTColumn<Job> ...
public JobDataGrid()
{
super();
checkboxColumn = new Column<Job, Boolean> (new CheckboxCell (true, false)) {
@Override
public Boolean getValue (Job job)
{
// Get the value from the selection model.
return selectionModel.isSelected (job);
}
};
checkboxColumn.setFieldUpdater (new FieldUpdater<Job, Boolean>() {
public void update (int index, Job job, Boolean value)
{
// Called when the user clicks on a checkbox.
selectionModel.setSelected (job, value);
}
});
// [...]
// [...]
// [...]
selectionModel = new MultiSelectionModel<Job>();
setSelectionModel (selectionModel);
// setKeyboardSelectionPolicy (KeyboardSelectionPolicy.DISABLED);
// [...]
// [...]
// [...]
}
}
我已经尝试了所有4个变种
new CheckboxCell (false, false);
new CheckboxCell (true, false);
new CheckboxCell (false, true);
new CheckboxCell (true, true);
但没有人出现了我所需要的。而且我也打了
setSelectionModel (selectionModel, DefaultSelectionEventManager.<Job> createCheckboxManager());
也许
createCustomManager(DefaultSelectionEventManager.EventTranslator<T> translator)
将帮助?
感谢名单 托马斯
好,谢谢,但事件和线路点击事件吗? –