Я думаю, вы должны смотреть на Cell Editing plugin. В приведенном выше коде вы создаете экземпляр поля чисел, но фактически не применяете его ни к чему.
Плагин редактирования ячейки позволяет использовать в столбце полевые компоненты, такие как текстовое поле, поле цифр и т. Д., И помогает управлять редактируемыми данными.
Fiddle
Ext.application({
name: 'Fiddle',
launch: function() {
Ext.create('Ext.data.Store', {
storeId: 'simpsonsStore',
fields: ['name', 'email', 'phone'],
data: [{
name: 'Lisa',
email: '[email protected]',
phone: '555-111-1224',
number: 0
}, {
name: 'Bart',
email: '[email protected]',
phone: '555-222-1234',
num: 1
}, {
name: 'Homer',
email: '[email protected]',
phone: '555-222-1244',
num: 2
}, {
name: 'Marge',
email: '[email protected]',
phone: '555-222-1254',
num: 3
}]
});
Ext.create('Ext.grid.Panel', {
title: 'Simpsons',
store: Ext.data.StoreManager.lookup('simpsonsStore'),
columns: [{
header: 'Name',
dataIndex: 'name',
editor: 'textfield'
}, {
header: 'Email',
dataIndex: 'email',
flex: 1,
editor: {
xtype: 'textfield',
allowBlank: false
}
}, {
header: 'Phone',
dataIndex: 'phone'
}, {
header: 'Number',
dataIndex: 'num',
editor: 'numberfield'
}],
selModel: 'cellmodel',
plugins: {
ptype: 'cellediting',
clicksToEdit: 1
},
height: 200,
width: 400,
renderTo: Ext.getBody()
});
}
});
Haiz, я привык использовать один и тот же путь, но если вы хотите показать numberfield, вы должны нажать на ячейку, но я хочу не щелкает в клетку и numberfield всегда показывают. Таким образом, я использую renderer для создания numberfield также по этой причине. –