0
GWT 2.2バージョンのCell Tableを使用しています。私は、クリックしたヘッダー列の名前を取得したい。私は同じクリックイベントを取得しませんでした。GWTのクリック時にCellテーブルのヘッダ列名を取得
私は自分の仕事を達成するための回避策がありますか?
GWT 2.2バージョンのCell Tableを使用しています。私は、クリックしたヘッダー列の名前を取得したい。私は同じクリックイベントを取得しませんでした。GWTのクリック時にCellテーブルのヘッダ列名を取得
私は自分の仕事を達成するための回避策がありますか?
これは何か? ;私たちは、「シンプルなリスナインタフェースを」使用している場合)
public class CellTableExample implements EntryPoint, ClickHandler {
private static class SomeEntity {
/* ... */
}
private static class ClickableTextHeader extends TextHeader {
private ClickHandler handler;
public ClickableTextHeader(String text, ClickHandler handler) {
super(text);
this.handler = handler;
}
@Override
public void onBrowserEvent(Context context, final Element elem,
final NativeEvent event) {
//maybe hijack click event
if(handler != null) {
if(Event.ONCLICK == Event.getTypeInt(event.getType())) {
handler.onClick(new ClickEvent() {
{
setNativeEvent(event);
setRelativeElement(elem);
setSource(ClickableTextHeader.this);
}
});
}
}
//default dom event handler
super.onBrowserEvent(context, elem, event);
}
}
CellTable<SomeEntity> cellTable;
TextColumn<SomeEntity> firstColumn;
TextColumn<SomeEntity> secondColumn;
TextColumn<SomeEntity> thirdColumn;
@Override
public void onModuleLoad() {
/* somehow init columns - it's not the point for this example */
cellTable.addColumn(firstColumn, new ClickableTextHeader("First column header", this));
cellTable.addColumn(secondColumn, new ClickableTextHeader("Second column header", this));
cellTable.addColumn(thirdColumn, new ClickableTextHeader("Third column header", this));
}
@Override
public void onClick(ClickEvent event) {
ClickableTextHeader source = (ClickableTextHeader) event.getSource();
Window.alert(source.getValue());
}
}
ハイジャックイベントは単純になります - 私は、「アウト・オブ・ボックス・ハンドラとsemanticaly対応」になりたいと思った:)
を