2011-12-23 182 views
1

我有一個單元格的GWT與textcells和buttoncell,現在我想添加一個超鏈接單元格在我的celltable中,這可能嗎?GWT中的超鏈接單元格CellTable

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

感謝

回答

1

你的意思是這個HyperlinkCell

如果不是,您可以編寫一個普通超鏈接(<a href="http://www.stackoverflow.com">linkCell </a>)並將其作爲單元格的內容。

+0

是超鏈接單元仍然是一個東西嗎?你的鏈接把我帶到別處。 – 2016-07-29 14:48:21

+0

@StealthRabbi提問者從未確認他所指的是哪個HyperlinkCell。 GWT從來沒有提供一個所以我只是GOOGLE和第一個。但是,我不確定這是他使用的那個 – 2016-07-30 18:14:15

+0

儘管如此,你在答案中的鏈接並沒有把我帶到一個叫HyperlinkCell的類。至少,我無法在源代碼鏈接中找到它。 – 2016-08-01 11:51:16

0

嘗試使用以下單元實現

要確保你提供單元格的值像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])); 
    } 
    } 
}