2012-05-04 2 views
1

У меня есть GWT CellList. Каждая ячейка имеет одно изображение, две метки и одну кнопку.onClick/onВыбрано Событие кнопки в GWT CellList

Всякий раз, когда пользователь щелкает ячейку, происходит событие OnSelected.

Я хочу запустить событие onClick, если пользователь нажмет на кнопку, onSelected, если щелкнуть другую область (не внутри кнопки).

Возможно ли это?

ответ

0

Я думаю, что вы хотите что-то вроде этого, http://gwt.google.com/samples/Showcase/Showcase.html#!CwCellSampler

Вы можете иметь ActionCell или миниатюрный элемент питания.

Сообщите мне, если это послужит вашей цели или нет.

+0

Спасибо за ваш комментарий. Извините слишком поздно, ответьте вам. Ваше предложение хорошее, но это не то, что я хочу. Я хочу настроить CellList. Я хочу, внутри члена CellList, отделяя фокус кнопки и другой области. – solikang

1

Самый простой способ - переопределить onBrowserEvent(...) метод AbstractCell<C>. Вот как я реализовал его, чтобы иметь дело с событий щелчка на <a/> элемент:

@Override 
public void onBrowserEvent(Context context, Element parent, BIBonusDto value, NativeEvent event, 
     ValueUpdater<BIBonusDto> valueUpdater) { 
    super.onBrowserEvent(context, parent, value, event, valueUpdater); 
    if ("click".equals(event.getType())) { 
     EventTarget eventTarget = event.getEventTarget(); 
     if (!Element.is(eventTarget)) { 
      return; 
     } 
     if (parent.getElementsByTagName("a").getItem(0).isOrHasChild(Element.as(eventTarget))) { 
      if (valueUpdater != null) 
       valueUpdater.update(value); 
     } 
    } 
} 

шаблон клетка выглядит следующим образом:

<div id='info' class='campaign' style='cursor:default;'> 
    <div id='claim-inner2'> 
    <a id='claim-inner1' style='cursor:pointer;'> 
     <div id='claim-inner' title='Claim Points Now'></div> 
    </a> 
    </div> 
</div> 

Мы должны проверить, если событие имеет правильный тип и если это элемент, то мы можем проверить, является ли он правильным и делегировать действие на обратный вызов обновления значения.

+0

Спасибо за вашу доброту. Я попробую:-) – solikang

Смежные вопросы