我正在使用帶有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)
將幫助?
感謝名單 托馬斯
好,謝謝,但事件和線路點擊事件嗎? –