GWT Celltable如何在可编辑列中创建不可编辑的单元格

时间:2011-10-31 12:23:44

标签: java gwt gwt-2.2-celltable

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

  

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

            return object.getValue();
        }
    };

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

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

2 个答案:

答案 0 :(得分: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);
        }

    }
}

答案 1 :(得分:0)

您可以扩展EditTextCell并覆盖edit()-Method,这样只有在您没有设置需要为第一个单元格设置的布尔标志时才会编辑它。