Как отключить щелчок по ячейке сетки

Я хочу знать, есть ли способ отключить щелчок по определенной ячейке сетки после того, как ее значение установлено в Google Web Toolkit? Я пробовал setEnabled(false), но это не определено для ячейки


person user3008437    schedule 13.02.2014    source источник
comment
Я попробовал предложенное решение, но все еще не работает. Проблема в том, что я устанавливаю поля сетки с помощью setText (...), а затем я не могу отключить щелчок по ячейке, которая уже была установлена! Любая дальнейшая помощь будет очень оценил.   -  person user3008437    schedule 13.02.2014


Ответы (2)


Вы можете расширить ячейку и перезаписать метод 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;
  }
}

Надеюсь, это поможет.

person El Hoss    schedule 13.02.2014

Добавьте это в свою таблицу:

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);
        }
    }
person Andrei Volgin    schedule 13.02.2014