我将EditTextCell(stringTestEditTextCell)添加到Column(testColumn)中。
EditTextCell EditTextCell = new EditTextCell();列stringColumn = new ColumneditTextCell) {@Overridepublic String getValue(记录对象){
return object.getValue();
}
};
testColumn中的所有单元格都是可编辑的。
我想要列的第一个单元格这样列的第一个单元格应该是不可编辑的
下面是我问题的答案。我解出来了,效果很好。但是当用户点击列的第一个单元格时出现错误。
class CustomEditTextCell extends EditTextCell{
@Override
public void render(com.google.gwt.cell.client.Cell.Context context,
String value, SafeHtmlBuilder sb) {
// context.getColumn()==2 indicate Record ID column and context.getIndex()==0 indicate non editable cell in 1st empty row
if(context.getColumn()==2 && ( context.getIndex()==0 || context.getIndex()%10 == 0)){
sb.appendHtmlConstant("<div contentEditable='false' unselectable='true'></div>");
}else{
super.render(context, value, sb);
}
}
}
您可以扩展EditTextCell并覆盖edit()-方法,以便它仅在您没有设置需要为第一个单元格设置的布尔标志时进行编辑。