2011-12-23 12 views
1

GWTのセルテーブルにtextcellと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"; 
     } 
    }; 

私は、おかげで

答えて

1

あなたはこのHyperlinkCellを意味しています。この

   HyperlinkCell jobStatusCell = new HyperLinkCell(); 

のようないくつかのことをしたいですか?

そうでなければ、通常のハイパーリンク(<a href="http://www.stackoverflow.com">linkCell </a>)を書き込んで、セルの内容として入れることができます。

+0

は、ハイパーリンクセルは、まだ事ですか?あなたのリンクは私を他の場所に連れて行きます。 –

+0

@StealthRabbi Askerは、彼が意味するHyperlinkCellを決して確認しませんでした。 GWTは決して1つを提供しなかったので、私はただグーグルで最初のものを入れました。しかし、再び、私はこれが彼が使っていたものであると確信していません –

+0

あなたの答えにあるリンクは、私をHyperlinkCellというクラスを持つものに連れません。少なくとも、私はソースリンクでそれを見つけることができません。 –

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])); 
    } 
    } 
} 
関連する問題