2012-07-26 63 views
1

我有一個CellTable和CheckboxCell在裏面。GWT CellTable CheckboxCell在IE8中不工作

我已加入下列處理程序,以它:

private static Column<AIDataRecord, Boolean> m_checkColumn = 
    new Column<AIDataRecord, Boolean>(new CheckboxCell(true, false)) 
    { 
     @Override 
     public Boolean getValue(AIDataRecord object) 
     { 
      // Get the value from the selection model. 
      return object.isSelected(); 
     } 
     @Override 
     public void onBrowserEvent(Context context, Element elem, AIDataRecord object, NativeEvent event) 
     { 
      System.out.println("Browser Event Called"); 
      super.onBrowserEvent(context, elem, object, event); 
      String eventType = event.getType(); 
      if ("change".equals(eventType)) 
      { 
       System.out.println("Value changed"); 
       object.toggleSelection(); 
       System.out.println("Nw : "+object.isSelected()); 
      } 
     } 
    }; 

其中object.toggleSelection()是反轉一個布爾字段即真假和假變爲真的方法。

我正在使用此代碼查找是否有任何複選框被選中或未標識任何行。

這件事是工作完全正常中的所有主流瀏覽器除了IE 8

在IE 8我得到的object.isSelected()真實的,但仍當我在按鈕單擊面板上刪除的行,它顯示對於同一行,isSelected()爲false。

任何機構請幫助我在哪裏應該找到問題?爲什麼IE的表現不同?

可以在任何的Java/GWT高手請幫我...

感謝。

回答

0

爲什麼不將FieldUpdater指定到您的列中?它更簡單。例如:

m_checkColumn.setFieldUpdater(

    new FieldUpdater<AIDataRecord, Boolean>() { 
     @Override 
     public void update(int index, AIDataRecord object, Boolean value) { 
      object.toggleSelection(); 
      Window.alert("Nw : " + object.isSelected()); 
     } 
    } 

); 
+1

嘿謝謝你回答...但我已經完成了這個項目。儘管你是唯一回答,所以我接受它。 – gprathour 2013-01-20 05:51:55