将选择侦听器添加到GXT Grid?

时间:2010-12-15 18:22:42

标签: java gwt grid gxt

我正在尝试向我的GXT(Ext GWT)Grid添加一个选择侦听器,但我似乎无法解决它。我尝试过很多变种而没有运气:

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

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

5 个答案:

答案 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);