在单元格表格中获取标题列名称,然后点击GWT [英] Getting header column names in Cell table on click in GWT
本文介绍了在单元格表格中获取标题列名称,然后点击GWT的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用GWT 2.2版本的Cell Table。我想获取点击了标题列的名称。我没有得到任何点击事件。
是否有任何工作可以完成我的任务。
解决方案
类似这样的事情? ;)
public class CellTableExample实现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;
$ b @Override
public void onBrowserEvent(Context context,final Element elem,$ b $ final NativeEvent event){
//也许hijack click event
if(handler!= null){
if(Event.ONCLICK == Event.getTypeInt(event.getType())){
handler.onClick(new ClickEvent(){
{
setNativeEvent(event);
setRelativeElement(elem);
setSource(ClickableTextHeader.this);
}
});
//默认的dom事件处理程序
super.onBrowserEvent(context,elem,event);
}
}
CellTable< SomeEntity> cellTable;
TextColumn< SomeEntity> firstColumn;
TextColumn< SomeEntity> secondColumn;
TextColumn< SomeEntity> thirdColumn;
@Override
public void onModuleLoad(){
/ *某种程度上init列 - 它不是这个例子的要点* /
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());
如果我们使用简单侦听器,劫持事件看起来更简单接口 - 我只是想符合开箱即用的处理程序:)
I am using Cell Table of GWT 2.2 version. I want to get the name of the header column on which I have clicked. I didn't get any click event on the same.
Is there any work around by which I can accomplish my task.
解决方案 Something like this? ;)
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());
}
}
Hijacking event could look simpler if we used "simple listener interface" - i just wanted to be "semanticaly compliant with out-of-the-box Handlers" :)
这篇关于在单元格表格中获取标题列名称,然后点击GWT的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文