2011-12-23 4 views
1

GWT에 텍스트 셀과 buttoncell이 포함 된 셀 테이블이 있습니다. 이제는 셀 테이블에 hyperlinkCell을 추가하고 싶습니다. 가능한가요? 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

이 하이퍼 링크 셀이 여전히 것입니까? 너의 연결은 다른 곳에 나를 데려 간다. –

+0

@StealthRabbi Asker는 그가 어떤 HyperlinkCell을 의미하는지 결코 확인하지 않았습니다. GWT는 결코 하나를 제공하지 않았습니다. 그래서 나는 처음으로봤을뿐입니다. 그러나 다시, 나는 이것이 그가 사용하고있는 것이 맞는지 확신하지 못했습니다. –

+0

그럼에도 불구하고, 당신이 대답하는 링크는 하이퍼 링크 셀 (HyperlinkCell)이라는 클래스를 가진 어떤 것에 나를 데려 가지 않습니다. 적어도 소스 링크에서 찾을 수 없습니다. –

0

당신이 추천 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])); 
    } 
    } 
}