Как добавить конфиг поля на лету? - PullRequest
7 голосов
/ 23 мая 2011

Я хочу добавить разрешить конфигурацию Бланка, когда я нажимаю на узел в панели дерева!если узел является листом, я хочу указать имя поля config: allowBlank: false, а если не лист, allowBlank: true.Я не нахожу способ сделать это?!

Большое спасибо:)


Спасибо за ваш ответ, но мой комбинированный список не является глобальной переменной:

var monPrepanel = Ext.create('Ext.form.Panel',{

        frame : true,
        title : 'Editing Zone',
        //renderTo : 'mesfields',
        //width : 750,
        forceFit : true,

        items: [{

                xtype:'fieldset',
                title: 'Add Task : ',
                margin : '20 20 20 20',

                collapsible: true,
                defaultType: 'textfield',
                defaults: {anchor: '100%'},
                layout: 'anchor',
                items: [ {

                itemId : 'p0',
                allowBlank : false,


         xtype : 'textfield',
    anchor : '60%',

         padding : '0 30 0 30',
          fieldLabel : 'Task',

          name : 'task'
        } , {

                itemId : 'p1',
                allowBlank : false,


         xtype : 'combobox',
            anchor : '40%',
            store : materialstore,
            queryMode: 'local',
            displayField: 'data',
            width : 50,
            valueField: 'data',
            editable : false,

         padding : '0 30 0 30',
          fieldLabel : 'Material',

          name : 'material'
        } , {

                allowBlank : true,

         xtype : 'combobox',
            anchor : '40%',
            store : ccstore,
            queryMode: 'local',
            displayField: 'data',
            width : 50,
            valueField: 'data',
            editable : false,

         padding : '0 30 0 30',
          fieldLabel : 'CC',

          name : 'cc'
        }

Мне нужен доступ к компоненту combobox по id, может быть?Есть решения для доступа к этому компоненту в элементы к элементам?

Ответы [ 2 ]

15 голосов
/ 24 мая 2011

Установите свойство id для требуемого поля со списком (id: 'anyId') и используйте Ext.apply(Ext.getCmp('anyId'), {your config object});

5 голосов
/ 24 мая 2011

Как правило, вы «применяете» изменения к компоненту Ext, который вы уже создали.

var combo = new Ext.form.ComboBox({some initial config});

Ext.apply(combo, {your config object});

Как вы загружаете свои триоды? Вы, вероятно, добьетесь большего успеха, добавив эти свойства из серверной части, если это то, откуда они берутся.

...