您好,我正在开发一个使用Ext Js的项目,需要在网格中编辑一行。我正在尝试使用我在Ext的文档中找到的插件,插件:[Ext.create('Ext.grid.plugin.RowEditing')]但是当我点击该行时,更新和取消选项会出现在网格上,但是细胞不可编辑,有谁知道发生了什么?
插件文档中的示例如下:http://docs.sencha.com/ext-js/4-0/#!/example/restful/restful.html
到目前为止我的代码:
Ext.define('GridEditavel',{
extend : 'Ext.grid.Panel',
title: 'Grid Editavel',
store: 'GridStore',
dockedItems : [ {
xtype : 'toolbar',
items : [ {
xtype: 'button',
text : i18n['vds.botao.nova.coluna'],
icon : Webapp.icon('add1.png'),
iconAlign : 'top',
handler : function() {
var gridView = Ext.ComponentQuery.query("gridpanel")[1];
Ext.Msg.prompt('Message', 'Enter a column number:', function(
btn, text) {
if (btn == 'ok' && text != null) {
var column = Ext.create('Ext.grid.column.Column', {
text : text
});
gridView.headerCt.insert(gridView.columns.length,
column);
gridView.getView().refresh();
} else {
Ext.Msg.alert('Alert', 'Enter a column number!');
}
});
}
} ]
} ],
columns: [{
header : 'Nome',
dataIndex : 'nome',
flex : 0.8
}],
plugins : [ Ext.create('Ext.grid.plugin.RowEditing') ]});
答案 0 :(得分:2)
您需要在列中设置编辑器属性。例如:
columns:[{
header:'Nome',
dataIndex:'nome',
flex:0.8,
editor:'textfield'
}]
您还可以为编辑器使用配置对象,如下所示:
columns:[{
header:'Nome',
dataIndex:'nome',
flex:0.8,
editor:{
xtype:'combo',
store:'somestore'
}
}]