【问题标题】:Editing a line in an ExtJs grid在 ExtJs 网格中编辑一行
【发布时间】:2012-07-19 18:08:42
【问题描述】:

您好,我正在使用 Ext Js 开发一个需要在网格中编辑一行的项目。我正在尝试使用在 Ext 的文档中找到的插件 plugins: [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') ]});

【问题讨论】:

  • 请使用英语,以便更好地理解您的答案。 (或者,请使用 língua inglesa para que sua resposta seja melhor entendida。)

标签: extjs


【解决方案1】:

您需要在列中设置编辑器属性。示例:

columns:[{
header:'Nome',
dataIndex:'nome',
flex:0.8,
editor:'textfield'
}]

您也可以为编辑器使用配置对象,如下所示:

columns:[{
header:'Nome',
dataIndex:'nome',
flex:0.8,
editor:{
  xtype:'combo',
  store:'somestore'
}
}]

【讨论】:

    猜你喜欢
    • 2014-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    相关资源
    最近更新 更多