2010-11-09 58 views
1

我試圖讓headertable中的clicked單元格進行排序,但我想在另一個類中實現該表的類。如果我寫出來的headertable類細胞是打印正確的小區ID,但增加對clickHandler實現類當ID始終爲0從bodyade中的headertable獲取單擊的單元格

例子:

public class CustomerDetailsHoldingsTable extends SimpleTable<Holding> 
                implements ClickHandler { 

    TableDataSource<Holding> ds; 

    Public CustomerDetailsHoldingsTable() { 
    this.headerTable = new HeaderTable(); 
    this.headerTable.addClickHandler(this); 
    } 

    @Override 
    public void onClick(ClickEvent event) { 
    GWT.log("Clicked cell with id" + 
      getCellForEvent(event).getCellIndex()); 
    } 


    public class HeaderTable extends Grid { 
    ... 
    ... 
    } 

的GWT.log線始終打印0,無論在headertable中單擊了哪個單元格。這是爲什麼?

回答

1

你需要調用getCellForEvent網格物體上,比如:

@Override 
    public void onClick(ClickEvent event) { 
    GWT.log("Clicked cell with id" + 
      this.headerTable.getCellForEvent(event).getCellIndex()); 
    } 

docs

給出一個點擊事件,返回被點擊的細胞 ,或如果事件 未擊中此表,則返回null。如果單擊事件在特定單元格上不發生 ,則單元格 也可爲空。

+0

有人認爲是缺少this.headerTable ...謝謝。 – 2010-11-10 14:21:42

+1

安德烈亞斯,很高興我能幫上忙。然而,一條友好的建議:如果我的答案是幫助你的答案,那麼你應該將其標記爲已接受,讓其他人知道這是解決這個問題的方法。從你的個人資料中,我發現你沒有標記出你接受的許多答案,如果你希望人們在將來回答你的問題,這可能會對你有點問題。 – 2010-11-10 14:42:06

相關問題