在单元格表格中获取标题列名称,然后点击GWT [英] Getting header column names in Cell table on click in GWT

查看:158
本文介绍了在单元格表格中获取标题列名称,然后点击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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆