2012-05-04 8 views
1

私はGWT CellListを持っています。各セルには、1つのイメージ、2つのラベル、および1つのボタンがあります。onClick/onSelected GWT CellList内のボタンのイベント

ユーザーがセルをクリックするたびに、onSelectedイベントが発生します。

ボタンをクリックしたときにonClickイベントを発生させたい場合は、 onSelected(ボタンの内側ではない)をクリックするとオンになります。

これは可能ですか?

答えて

0

私はあなたがどちらかActionCellやボタン型電池を持つことができ、このような何か、 http://gwt.google.com/samples/Showcase/Showcase.html#!CwCellSampler

をしたいと思います。

これがあなたの目的に役立つかどうかを教えてください。

+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

関連する問題