将锚添加到cellTable列

时间:2011-03-21 13:07:21

标签: gwt gwt-2.2-celltable gwt-2.2

我正在尝试将锚添加到单元格表列 有没有办法做到这一点????

感谢。

3 个答案:

答案 0 :(得分:0)

尝试使用ClickableTextCell并设置其ValueUpdater来调用您需要锚点执行的任何方法

答案 1 :(得分:0)

创建Column覆盖onBrowserEvent方法。

像这样:

new Column<T, String>(new TextCell()) {
    @Override
    public String getValue(T object) {
        return object.getProperty();
    }

    @Override
    public void onBrowserEvent(Context context, Element elem, T object, NativeEvent event) {
        // TODO You can check which event you want to catch
        Window.open("http://www.stackoverflow.com", "StackOverFlow", "");
    }
};

答案 2 :(得分:0)

这个问题已经很老了,但仍然可以帮助其他人添加答案。在下面的代码我使用clickableTextCell和一些样式更改来给人一种Anchor的感觉;)

Column<YourDataClass, String> columnValue = new Column<YourDataClass, String>(
    new ClickableTextCell()) {

  @Override
  public String getCellStyleNames(Cell.Context context, YourDataClass  object) {
    return style.clickableText();
  }


  @Override
  public String getValue(YourDataClass object) {       

    return "Anchor Name"; //This is anchor text eg: Download Something
  }
};

columnValue.setFieldUpdater(new FieldUpdater<YourDataClass, String>() {
  @Override
  public void update(int index, YourDataClass obj, String value) {
    //Do stuff for click event.
  }
});

agentsTable.addColumn(columnValue, " ");
agentsTable.setColumnWidth(columnValue, 10,com.google.gwt.dom.client.Style.Unit.PCT);

在您的课程中添加以下代码以进行样式设计;

@UiField
Style style;
public interface Style extends CssResource {
  String clickableText();
}

将以下样式添加到您的ui.xml文件中:

.clickableText{
    align: left;
    color: blue;
    text-decoration: underline;
    }

阅读http://www.pandurangpatil.com/2014/03/gwt-access-style-defined-inside-uixml.html以了解如何从班级中的ui.xml访问样式