2011-12-27 71 views
0

當我添加監聽器column.addListener(Events.CellClick, new Listener<BaseEvent>()它不適用於列。但是,如果我添加監聽器到網格。那麼它的作品。如何在用戶點擊列時觸發事件?分機GWT。列事件不起作用。

回答

0

好吧,我明白你想要什麼。您可以從電網事件處理這樣的觸發事件列:

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之前,你應該把它添加監聽器:

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

我不知道有沒有更好的辦法去做吧。

+0

你們,謝謝你,我做了同樣的代碼。它的作品僅適用於Grid。但是當點擊第一列時,我需要點擊不同的事件,當點擊其他的網格列時。 – MyTitle 2011-12-28 07:57:39

+0

答案已修復 – hsestupin 2011-12-29 11:11:09