2011-11-18 14 views
1

私はGWT 2.4を使用しています。私はいくつかの編集可能なテーブルセルを持つCellTableを構築しています。私の質問は、セルがレンダリングされるとき、どのように入力タグ内で定義された「名前」属性および/または「id」属性でレンダリングされるようにするかです。セルが編集可能な場合は今のところ、セルをレンダリングするために私が持っているコードがある...GWT:CellTableの編集可能な表のセルにIDを割り当てる方法を教えてください。

class EditableTableCell extends TextInputCell { 
    private final List<Node> colData; 

    public EditableTableCell(final List<Node> colData) { 
     super(); 
     this.colData = colData; 
    } 

    @Override 
    public void render(Context context, String value, SafeHtmlBuilder sb) { 
     final Integer index = context.getIndex(); 
     final Node childNode = colData.get(index); 

     if (childNode.getAttributes() != null && 
      childNode.getAttributes().get("edit") != null && 
      childNode.getAttributes().get("edit").getValue() != null && 
      childNode.getAttributes().get("edit").getValue().equalsIgnoreCase("yes")) { 
      super.render(context,value,sb); 
     } else { 
      sb.appendEscaped(value); 
     } // if 
    } 
} 

、結果のHTMLは、「タイプ」、「値が

...のような
<td class="GCSPOWVPD GCSPOWVBE GCSPOWVCE GCSPOWVME"> 
    <div style="outline:none;" tabindex="0"> 
     <input type="text" value="\n\t\t\tABC\n\t\t" tabindex="-1"></input> 
    </div> 
</td> 

に見えます"、" tabindex "が定義され、" name "や" id "は定義されません。これを行う方法を理解しようとしています。ありがとう、-Dave

答えて

0

あなたはsuper.render(...)をやっているところで、代わりにそのHTMLを自分でレンダリングし、input要素の名前とid値を手動で固定します。私はこのコンセプトについて同様の質問に答えましたhere。アイデアは若干異なりますが、実装は同じです。

関連する問題