我正在尝试向我的GXT(Ext GWT)Grid添加一个选择侦听器,但我似乎无法解决它。我尝试过很多变种而没有运气:
myGrid.addListener(Events.Select, new SelectionListener<ComponentEvent>() {
@Override
public void componentSelected(ComponentEvent ce) {
System.out.println("selected");
}
});
答案 0 :(得分:11)
myGrid.getSelectionModel().addSelectionChangedListener(new SelectionChangedListener<ModelData>() {
@Override
public void selectionChanged(SelectionChangedEvent<ModelData> se) {
...
}
});
试试此代码
答案 1 :(得分:2)
将此答案升级为GXT v3
grid.getSelectionModel().addSelectionChangedHandler(
new SelectionChangedHandler<ModelData>(){
@Override
public void onSelectionChanged(SelectionChangedEvent<ModelData> event) {
}
});
答案 2 :(得分:1)
尝试:
myGrid.addListener(Events.Select, new Listener<GridEvent<ModelData>>() {
@Override public void handleEvent(GridEvent<ModelData> be) {
System.out.println("selected");
}
});
如有必要,请使用您的模型类型替换ModelData。
答案 3 :(得分:1)
似乎找到了解决方法:
myGrid.addListener(Events.OnClick, new Listener<ComponentEvent>() {
@Override
public void handleEvent(ComponentEvent ce) {
// Handle the grid event
}
});
似乎你必须对它有所了解,然后你可以检查并将你的ComponentEvent转换为GridEvent。
答案 4 :(得分:0)
您使用GXT 2.x版本吗?您是否检查了所需事件是否已下沉?例如喜欢 grid.sinkEvents(Event.ONCLICK | Event.ONDBLCLICK | Event.MOUSEEVENTS);