1

我将 EditTextCell(stringTestEditTextCell) 添加到 Column(testColumn)。

EditTextCell editTextCell = new EditTextCell(); 列 stringColumn = new Column(editTextCell) { @Override public String getValue(Record object) {

            return object.getValue();
        }
    };

testColumn 中的所有单元格都是可编辑的。

我想要列的第一个单元格,这样列的第一个单元格应该是不可编辑的。

4

2 回答 2

1

下课是对我问题的回答。我解决了它并且工作正常。但是当用户单击列的第一个单元格时出现错误。

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);
        }

    }
}
于 2011-11-04T11:12:41.283 回答
0

您可以扩展 EditTextCell 并覆盖edit() 方法,以便它仅在您没有设置您需要为第一个单元格设置的布尔标志时进行编辑。

于 2011-11-02T09:39:57.357 回答