GWT:如何为CellTable中的可编辑表格单元格分配ID?

GWT:如何为CellTable中的可编辑表格单元格分配ID?,gwt,celltable,gwt-celltable,Gwt,Celltable,Gwt Celltable,我正在使用GWT2.4。我正在用一些可编辑的表格单元格构建一个单元格表。我的问题是,当呈现单元格时,如何强制使用输入标记中定义的“name”和/或“id”属性呈现它们?现在,我用来渲染单元格的代码是 class EditableTableCell extends TextInputCell { private final List<Node> colData; public EditableTableCell(final List<Node> colDa

我正在使用GWT2.4。我正在用一些可编辑的表格单元格构建一个单元格表。我的问题是,当呈现单元格时,如何强制使用输入标记中定义的“name”和/或“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
    }
}
类EditableTableCell扩展了TextInputCell{ 私人最终名单数据; 公共EditableTableCell(最终列表colData){ 超级(); this.colData=colData; } @凌驾 公共void呈现(上下文上下文、字符串值、安全HtmlBuilder sb){ 最终整数索引=context.getIndex(); 最终节点childNode=colData.get(索引); if(childNode.getAttributes()!=null&& childNode.getAttributes().get(“编辑”)!=null&& childNode.getAttributes().get(“编辑”).getValue()!=null&& childNode.getAttributes().get(“编辑”).getValue().equalsIgnoreCase(“是”){ 超级渲染(上下文、值、sb); }否则{ 某人(价值); }//如果 } } 如果单元格是可编辑的,则生成的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>


虽然定义了“type”、“value”和“tabindex”,但没有“name”或“id”。想弄明白怎么做。谢谢,-Dave

在您正在执行的
super.render(…)
中,我将自己呈现HTML,并手动为
输入
元素插入名称和id值。我就这个概念回答了一个类似的问题。想法略有不同,但实现方式是相同的