Java 如何禁用网格的单元格单击

Java 如何禁用网格的单元格单击,java,gwt,grid,cell,Java,Gwt,Grid,Cell,我想知道,一旦在Google Web Toolkit中设置了网格的某个单元格的值,是否有一种方法可以禁止单击该单元格?我尝试了setEnabled(false),但它没有为单元格定义您可以扩展该单元格并用类似的内容覆盖onBrowserEvent方法: @Override public void onBrowserEvent(Event event) { switch (DOM.eventGetType(event)) { case Event.ONCLICK: if (cond

我想知道,一旦在Google Web Toolkit中设置了网格的某个单元格的值,是否有一种方法可以禁止单击该单元格?我尝试了
setEnabled(false)
,但它没有为单元格定义您可以扩展该单元格并用类似的内容覆盖onBrowserEvent方法:

@Override
public void onBrowserEvent(Event event) {
  switch (DOM.eventGetType(event)) {
  case Event.ONCLICK:
    if (condition) {
      event.stopPropagation();
      event.preventDefault();
      break;
    } else {
      super.onBrowserEvent(event);
      break;
    }
  default:
    super.onBrowserEvent(event);
    break;
  }
}

希望有帮助。

将此添加到您的表格中:

myCellTable.addCellPreviewHandler(new Handler<T>() {

    @Override
    public void onCellPreview(CellPreviewEvent<T> event) {
        // Change 2 to the index of your column
        if ("mousedown".equals(event.getNativeEvent().getType()) &&
            event.getContext().getColumn() == 2) {
            event.setCanceled(true);
        }
    }
myCellTable.addCellPreviewHandler(新处理程序(){
@凌驾
公共void onCellPreview(CellPreviewEvent事件){
//将2更改为列的索引
if(“mousedown”.equals(event.getNativeEvent().getType())&&
event.getContext().getColumn()==2){
event.setCancelled(true);
}
}

我尝试了建议的解决方案,但仍然不起作用。问题是我正在通过setText(…)设置网格的字段,然后我无法禁用单击已设置的单元格!!如需进一步帮助,将不胜感激。