#extjs3
#extjs3
Вопрос:
Мне нужно добавить свойство к существующему элементу FormPanel. код:
Application.TypesForm = Ext.extend(Ext.form.FormPanel, {
initComponent : function() {
Ext.apply(this, {
defaultType : 'textfield',
items : [
{
fieldLabel : 'Id',
typeAhead : true,
name : 'id',
hiddenName : 'id',
hiddenValue : 'id',
valueField : 'id',
readOnly : true,
cls : 'disabled_field'
}
,{
xtype : 'ProductsVerticalsComboBox',
id : 'add_vertical_id',
editable : false
//readOnly : true, cls : 'disabled_field'
}
В режиме редактирования вам необходимо зарегистрировать add_vertical_id — свойство только для чтения и cls. А в режиме добавления — они не нужны.
Я делаю так:
Ext.apply(Ext.getCmp('add_vertical_id'), {readOnly : true, cls : 'disabled_field'});
Но не работает. Что я делаю не так??
Ответ №1:
решено
items : [
{
fieldLabel : 'Id',
typeAhead : true,
name : 'id',
hiddenName : 'id',
hiddenValue : 'id',
valueField : 'id',
readOnly : true,
cls : 'disabled_field',
// Disabled Vertical combobox when id is not empty.
listeners: {
render: function() {
if (this.value) {
Ext.apply(Ext.getCmp('add_vertical_id'), {
readOnly : true,
cls : 'disabled_field'
});
}
}
}
}
,{
xtype : 'ProductsVerticalsComboBox',
id : 'add_vertical_id',
editable : false
}