gus*_*per 13 java gwt gwt-2.2-celltable
我创建了一个基本的CellTable并用一些数据填充它.现在我想为每一行添加一个clickHandler,但我不知道该怎么做.我已经为整个表创建了一个clickEvent,但是每行需要一个.
table.sinkEvents(Event.ONCLICK);
table.setTitle("Click me");
table.setSize("600px", "600px");
table.addDomHandler(new ClickHandler()
{
@Override
public void onClick(ClickEvent event)
{
Window.alert("You clicked!" +);
}
}, ClickEvent.getType());
Run Code Online (Sandbox Code Playgroud)
我可以做类似的事情为每行添加clickEvent吗?
Hil*_*amp 29
CellTable内置支持处理点击事件.您可以添加一个CellPreviewHandler在单击行时将被调用的对象.它将在事件中接收许多项,如本机事件,单元格和数据行值.因为它不仅会触发点击事件,还需要检查是否触发了click事件.只需测试通过的事件:boolean isClick = "click".equals(event.getNativeEvent().getType()).
另一种选择是扩展受保护的方法doSelection,但它已被弃用,并且您需要确保您具有正确的KeyboardSelectionPolicy设置以确保在单击完成时调用它.请参阅接口的JavaDoc中的后者KeyboardSelectionPolicy.
Noy*_*oya 19
可以使用NoSelectionModel创建另一种选择单元格的方法,并将其添加到表中:
//EDIT: this is a field, not a local variable
TheCellObject clickedObject; //the object selected by selectionModel
final NoSelectionModel<TheCellObject> selectionModel = new NoSelectionModel<TheCellObject>();
selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
@Override
public void onSelectionChange(SelectionChangeEvent event) {
clickedObject = selectionModel.getLastSelectedObject();
}
});
cellTable.setSelectionModel(selectionModel); //add selection model to your celltable
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26729 次 |
| 最近记录: |