我想向单元格表添加一个特殊的选择模型。基本上我想要的功能是在位于左侧的表格上选择一行,右侧会弹出相应的表单。我知道很多人会将singleSelectionModel与SelectionChangeHandler一起使用。但是这种方法有问题。
例如,如果我选择表格上的第 1 行,则会弹出表单。我通过单击关闭按钮关闭表单。稍后,我再次选择第 1 行,该事件不会触发,因为它是 SelectionChangeHandler。在执行此操作之前,我必须选择其他行。这可不行。
所以我认为有几种方法可以做到这一点:
- 在我选择该行后立即取消选择该行。
- 使用单击处理程序触发事件(弹出窗体)
- 将其他选择模型与其他选择处理程序一起使用来执行此操作。(不过我对此没有任何想法)
所以我的问题是,
- 有谁知道我可以为此使用哪种其他选择处理程序。
- 如果我在单元格上使用点击处理程序,会不会有任何问题?
我只是想了解更多有关此的信息。因此,欢迎任何想法。多谢。
此致敬意。
使用 NoSelectionModel
.选择行后,它不会更新表视图。也就是说,即使选择了同一行,也会触发更改事件。
//Here 'Contact' is the datatype of the record
final NoSelectionModel<Contact> selModel = new NoSelectionModel<Contact>();
selModel.addSelectionChangeHandler(new Handler() {
@Override
public void onSelectionChange(SelectionChangeEvent event) {
Contact clickedObject = selModel.getLastSelectedObject();
GWT.log("Selected " + clickedObject.name);
}
});
table.setSelectionModel(selModel);
我在每个项目中都使用了单元格表。如您所提及的那样手动取消选择行的更好方法。并使更改CSS,例如所选单元格表的行在选择后看起来不会更改。