Ext GWT。列事件无效。

时间:2011-12-27 04:40:41

标签: java gwt gxt

当我添加监听器column.addListener(Events.CellClick, new Listener<BaseEvent>()时,它在列上不起作用。但是,如果我将侦听器添加到Grid。它的作品。如何在用户点击列时触发事件?

1 个答案:

答案 0 :(得分:0)

好的,我明白你想要什么。您可以从网格eventHandler中触发列事件,如下所示:

grid.addListener(Events.CellClick, new Listener<GridEvent<ModelData>>() {
  @Override
  public void handleEvent(@NotNull GridEvent<ModelData> ge) {
     ge.getGrid().getColumnModel().getColumn(ge.getColIndex()).fireEvent(Events.ColumnClick);
  }
});

然后在将列添加到网格ColumnModel之前,您应该在其上添加Listener:

final ColumnConfig column = new ColumnConfig();
column.addListener(Events.ColumnClick, new Listener<BaseEvent>() {
  @Override
  public void handleEvent(@NotNull BaseEvent be) {
    GWT.log("I was clicked!!!");
  }
});

我不知道有没有更好的方法来做到这一点。