5

我正在尝试向我的 GXT (Ext GWT) Grid 添加一个选择侦听器,但我似乎无法启动它。我已经尝试了很多变体,但没有运气:

myGrid.addListener(Events.Select, new SelectionListener<ComponentEvent>() {

     @Override
     public void componentSelected(ComponentEvent ce) {
         System.out.println("selected");
     }
});
4

5 回答 5

11
        myGrid.getSelectionModel().addSelectionChangedListener(new SelectionChangedListener<ModelData>() {

        @Override
        public void selectionChanged(SelectionChangedEvent<ModelData> se) {
            ...

        }
    });

试试这个代码

于 2010-12-16T20:42:29.183 回答
2

To upgrade this answer to GXT v3

grid.getSelectionModel().addSelectionChangedHandler(
  new SelectionChangedHandler<ModelData>(){

@Override
public void onSelectionChanged(SelectionChangedEvent<ModelData> event) {
    }
 });
于 2013-02-25T23:13:54.643 回答
1

尝试:

myGrid.addListener(Events.Select, new Listener<GridEvent<ModelData>>() {
    @Override public void handleEvent(GridEvent<ModelData> be) {
        System.out.println("selected");
    }
});

如有必要,将 ModelData 替换为您的模型类型。

于 2010-12-15T18:55:57.223 回答
1

似乎已经找到了解决方法:

myGrid.addListener(Events.OnClick, new Listener<ComponentEvent>() {

    @Override
    public void handleEvent(ComponentEvent ce) {
        // Handle the grid event
    }
});

似乎您只需对其通用,然后您可以检查并将您的 ComponentEvent 转换为 GridEvent。

于 2011-01-13T21:13:41.573 回答
0

您使用 GXT 2.x 版本吗?您是否检查过所需的事件是否已下沉?例如像 grid.sinkEvents(Event.ONCLICK | Event.ONDBLCLICK | Event.MOUSEEVENTS);

于 2013-02-26T14:30:02.200 回答