ячейка гиперссылки в GWT CellTable - PullRequest
1 голос
/ 23 декабря 2011

У меня есть таблица ячеек в GWT с textcells и buttoncell. Теперь я хочу добавить гиперссылку Cell в свою ячейку, это возможно?

                  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 ]

1 голос
/ 23 декабря 2011

Вы имеете в виду это HyperlinkCell ?

Если нет, вы можете написать нормальную гиперссылку (<a href="http://www.stackoverflow.com">linkCell </a>) и поместить ее в качестве содержимого ячейки.

0 голосов
/ 02 апреля 2012

Попробуйте использовать следующую реализацию Cell

Убедитесь, что вы предоставляете значение ячейки в виде массива из двух строковых объектов, таких как:

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]));
    }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...