セルテーブルの列にリンクを追加したい、つまり「validationStatus」値が無効な場合は「valid」と「invalid」の値があり、リンクとして無効にしたい(方法?)&値が有効な場合は必要テキストとして作成するには
セルテーブルの特定の列にリンクを追加するにはどうすればよいですか?
編集不可能なテキスト(有効)+ハイパーリンク(無効)の組み合わせである列を追加したい場合。
セルテーブルの列にリンクを追加したい、つまり「validationStatus」値が無効な場合は「valid」と「invalid」の値があり、リンクとして無効にしたい(方法?)&値が有効な場合は必要テキストとして作成するには
セルテーブルの特定の列にリンクを追加するにはどうすればよいですか?
編集不可能なテキスト(有効)+ハイパーリンク(無効)の組み合わせである列を追加したい場合。
おそらく、テーブルの各行に何らかの方法で関連付けられたこれらの値のある種のリストがあります。Columnクラスを拡張し、TextCellを表示するように設定します。Columnクラスのrenderメソッドをオーバーライドして、これらの値をレンダリングするときに、それらの値が有効かどうかをチェックし、アンカーのSafeHtml(リンクである無効な値)を追加するか、プレーンなエスケープされたテキスト(そうでない有効な値)を追加します。リンク)。このColumnサブクラスをテーブルに追加します。
サンプルコード:動作します:)
public class CustomColumn extends Column<Record, String>{
public CustomColumn(Cell<String> cell) {
super(cell);
// TODO Auto-generated constructor stub
}
@Override
public void render(Cell.Context context, Record object, com.google.gwt.safehtml.shared.SafeHtmlBuilder sb) {
super.render(context, object, sb);
String validationStatus= object.getValidationStatus();
if(validationStatus.equals("Invalid") ){
sb.appendHtmlConstant("<a href='http://www.google.com'> Invalid </a>");
}else if(validationStatus.equals("Valid")){
sb.appendEscaped("Valid");
}
}
@Override
public String getValue(Car object) {
// TODO Auto-generated method stub
return null;
}