GWT CellTable中的超链接单元格

时间:2011-12-23 13:31:56

标签: gwt

我在GWT中有一个带有textcells和buttoncell的单元格表,现在我想在我的单元格中添加一个hyperlinkCell,这可能吗?

                  TextCell jobStatusCell = new TextCell();
    jobStatusColumn = new Column<EmployerJobs, String>(jobStatusCell) {
        @Override
        public String getValue(EmployerJobs object) {

            // int status = object.getJobStatusId();
            /*
             * if(status ==1) { return ""; } else
             */
            // return "post job";
            return "view";
        }
    };

我想要一些像这样的东西

             HyperlinkCell jobStatusCell = new HyperLinkCell();

谢谢

2 个答案:

答案 0 :(得分:1)

你的意思是HyperlinkCell吗?

如果没有,您可以编写一个普通的超链接(<a href="http://www.stackoverflow.com">linkCell </a>)并将其作为单元格的内容。

答案 1 :(得分:0)

尝试使用以下Cell实现

确保将单元格的值提供为2个String对象的数组,如:

String[] value = new String[2];
value[HyperTextCell.LINK_INDEX] = "http://www.google.com";
value[HyperTextCell.TEXT_INDEX] = "Search on google";

public class HyperTextCell extends AbstractCell<String[]> {

interface Template extends SafeHtmlTemplates {
    @Template("<a target=\"_blank\" href=\"{0}\">{1}</a>")
    SafeHtml hyperText(SafeUri link, String text);
}

private static Template template;

public static final int LINK_INDEX = 0, URL_INDEX = 1;

/**
 * Construct a new ImageCell.
 */
public HyperTextCell() {

    if (template == null) {
        template = GWT.create(Template.class);
    }
}

@Override
public void render(Context context, String[] value, SafeHtmlBuilder sb) {
    if (value != null) {

        // The template will sanitize the URI.
        sb.append(template.hyperText(UriUtils.fromString(value[LINK_INDEX]), value[URL_INDEX]));
    }
    }
}