0

セルテーブルの列にリンクを追加したい、つまり「validationStatus」値が無効な場合は「valid」と「invalid」の値があり、リンクとして無効にしたい(方法?)&値が有効な場合は必要テキストとして作成するには

セルテーブルの特定の列にリンクを追加するにはどうすればよいですか?

編集不可能なテキスト(有効)+ハイパーリンク(無効)の組み合わせである列を追加したい場合。

4

2 に答える 2

1

おそらく、テーブルの各行に何らかの方法で関連付けられたこれらの値のある種のリストがあります。Columnクラスを拡張し、TextCellを表示するように設定します。Columnクラスのrenderメソッドをオーバーライドして、これらの値をレンダリングするときに、それらの値が有効かどうかをチェックし、アンカーのSafeHtml(リンクである無効な値)を追加するか、プレーンなエスケープされたテキスト(そうでない有効な値)を追加します。リンク)。このColumnサブクラスをテーブルに追加します。

于 2011-10-13T15:25:33.647 に答える
0

サンプルコード:動作します:)

    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;
    }
于 2011-10-14T06:37:38.763 に答える