Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在GWT中单击获取单元格表中的标题列名_Gwt - Fatal编程技术网

在GWT中单击获取单元格表中的标题列名

在GWT中单击获取单元格表中的标题列名,gwt,Gwt,我正在使用GWT2.2版本的单元格表。我想获取我单击的标题列的名称。我在同一个网站上没有收到任何点击事件 有什么工作可以让我完成我的任务。类似的事情吗?;) 公共类CellTableExample实现入口点,ClickHandler{ 私有静态类实体{ /* ... */ } 私有静态类ClickableTextHeader扩展了TextHeader{ 私有ClickHandler; 公共ClickableTextHeader(字符串文本,ClickHandler){ 超级(文本); this.

我正在使用GWT2.2版本的单元格表。我想获取我单击的标题列的名称。我在同一个网站上没有收到任何点击事件

有什么工作可以让我完成我的任务。

类似的事情吗?;)

公共类CellTableExample实现入口点,ClickHandler{
私有静态类实体{
/* ... */
}
私有静态类ClickableTextHeader扩展了TextHeader{
私有ClickHandler;
公共ClickableTextHeader(字符串文本,ClickHandler){
超级(文本);
this.handler=handler;
}
@凌驾
public void onBrowserEvent(上下文、最终元素元素、,
最终NativeEvent事件){
//可能是劫持点击事件
if(处理程序!=null){
if(Event.ONCLICK==Event.getTypeInt(Event.getType())){
onClick(新的ClickEvent(){
{
setNativeEvent(事件);
setRelativeElement(元素);
setSource(ClickableTextHeader.this);
}
});
}
}
//默认dom事件处理程序
super.onBrowserEvent(上下文、元素、事件);
}
}
细胞表细胞表;
TextColumn第一列;
TextColumn第二列;
TextColumn第三列;
@凌驾
moduleload()上的公共void{
/*不知怎的,init columns——这不是本例的重点*/
addColumn(第一列,新的ClickableTextHeader(“第一列标题”,this));
addColumn(第二列,新的ClickableTextHeader(“第二列标题”,this));
addColumn(第三列,新的ClickableTextHeader(“第三列标题”,this));
}
@凌驾
公共作废一次点击(点击事件){
ClickableTextHeader源=(ClickableTextHeader)事件。getSource();
Window.alert(source.getValue());
}
}
如果我们使用“简单侦听器接口”,劫持事件可能看起来更简单——我只是想“与开箱即用的处理程序语义兼容”:

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());
    }
}