GWT:如何为CellTable中的可编辑表格单元格分配ID?
我正在使用GWT2.4。我正在用一些可编辑的表格单元格构建一个单元格表。我的问题是,当呈现单元格时,如何强制使用输入标记中定义的“name”和/或“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
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值。我就这个概念回答了一个类似的问题。想法略有不同,但实现方式是相同的