2012-07-26 35 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