Grid 基于GXT 3.0.1中的ModelData使网格单元可编辑

Grid 基于GXT 3.0.1中的ModelData使网格单元可编辑,grid,cell,gxt,custom-cell,Grid,Cell,Gxt,Custom Cell,我想根据网格单元中的数据使网格单元可编辑 单元格接受一个字符串。因此,我添加了一个文本编辑器,如下所示: final GridInlineEditing<ModelData> editableGrid = new GridInlineEditing<ModelData>(grid); int columnCount = grid.getColumnModel().getColumnCount(); final TextField text = new T

我想根据网格单元中的数据使网格单元可编辑

单元格接受一个字符串。因此,我添加了一个文本编辑器,如下所示:

 final GridInlineEditing<ModelData> editableGrid = new GridInlineEditing<ModelData>(grid);

    int columnCount = grid.getColumnModel().getColumnCount();
   final TextField text = new TextField();
    for(int i=1;i<columnCount-1;i++)
    {
        final ColumnConfig<ModelData,String> config = grid.getColumnModel().getColumn(i);        
          editableGrid.addEditor(config, text);
    }
final GridInlineEditing editableGrid=新GridInlineEditing(网格);
int columnCount=grid.getColumnModel().getColumnCount();
最终文本字段text=新文本字段();
对于(inti=1;i我自己找到了答案:)

editableGrid.addBeforeStartEditHandler(新的BeforeStartEditHandler(){
@凌驾
BeforestatedIt上的公共无效(BeforestatedItEvent事件){
ModelData data=grid.getStore().get(event.getEditCell().getRow());
如果(条件)
event.getSource().getEditor(event.getSource().getEditableGrid().getColumnModel().getColumn(event.getEditCell().getCol()).enable();
}
否则{
event.getSource().getEditor(event.getSource().getEditableGrid().getColumnModel().getColumn(event.getEditCell().getCol()).disable();
}
}

这两个版本讨论了相同的问题,但我无法确定是否可以编辑。如果发现方法有任何问题,请发表评论。我也面临类似的问题。请给出解决方案。我没有使用GXT 2。请向Sencha论坛寻求帮助。Sencha.com/forumI我现在正在使用GXT 2.2.3。您能告诉我如何使用GXT 2.2.3吗要解决此问题,请转到GXT 3.0.0。
config.setCell(new AbstractCell<String>() {


           @Override
           public void render(Context context, String value, SafeHtmlBuilder sb)
           {
               ModelData model  = getGrid().getStore().get(context.getIndex());
               if(null==value)
               {
                   value = "";
               }
               if(model.getName().equals("vivek") {
                   sb.appendHtmlConstant("<div style=\"background-color:#E9967A;\">");
                   sb.appendHtmlConstant((String)value);
                   sb.appendHtmlConstant("</div>");

                 }
                else{

                     sb.appendHtmlConstant("<span>" + value + "</span>");            
                }
           }


   });
editableGrid.addBeforeStartEditHandler(new BeforeStartEditHandler<ModelData>() {

@Override
public void onBeforeStartEdit(BeforeStartEditEvent<ModelData> event) {    
    ModelData data = grid.getStore().get(event.getEditCell().getRow());

    if(condition)
    event.getSource().getEditor(event.getSource().getEditableGrid().getColumnModel().getColumn(event.getEditCell().getCol())).enable();
            }
    else {
     event.getSource().getEditor(event.getSource().getEditableGrid().getColumnModel().getColumn(event.getEditCell().getCol())).disable();
        }
}