2012-05-04 2 views
1

GWT CellList가 있습니다. 각 셀에는 하나의 이미지, 두 개의 레이블 및 하나의 버튼이 있습니다.onClick/onSelected GWT CellList의 버튼 이벤트

사용자가 셀을 클릭 할 때마다 onSelected 이벤트가 발생합니다.

사용자가 버튼을 클릭하면 onClick 이벤트가 발생합니다. onSelected는 버튼 내부가 아닌 다른 영역을 클릭하면 선택됩니다.

그렇게 할 수 있습니까?

답변

0

나는 http://gwt.google.com/samples/Showcase/Showcase.html#!CwCellSampler

당신은 ActionCell 또는 단추 형 전지를 가질 수 있습니다, 당신이 뭔가를하려는 생각합니다.

귀하의 목적에 부합하는지 여부를 알려주십시오.

+0

의견을 보내 주셔서 감사합니다. 죄송합니다 너무 늦게 회신 해주십시오. 귀하의 제안은 좋지만 원하는 것은 아닙니다. CellList를 사용자 정의하고 싶습니다. CellList 멤버 내에서 단추 및 다른 영역의 포커스를 구분하고 싶습니다. – solikang

1

가장 쉬운 방법은 의 onBrowserEvent(...) 메서드를 재정의하는 것입니다.

@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> 

것은 우리는 이벤트가 올바른 유형인지 확인해야하고 나는 <a/> 요소에 클릭 이벤트를 처리하도록 구현 방법은 다음이다 그것이 요소라면 올바른 것이 맞는지 확인하고 액션을 값 업데이터 콜백에 위임 할 수 있습니다.

+0

친절 감사합니다. 시도해 볼게:-) – solikang