Как получить ссылку на флажок на панели инструментов? - PullRequest
2 голосов
/ 07 октября 2009

Может кто-нибудь сказать мне предпочтительный способ получить ссылку на флажок, если он находится на панели инструментов в EditorGridPanel? Я просто хотел бы вызвать для него getValue (), чтобы я мог с ним что-то делать.

Мой EditorGridPanel построен аналогично приведенному ниже (плюс еще несколько свойств конфигурации):

var grid = new Ext.grid.EditorGridPanel({    
tbar: new Ext.Toolbar({
            width: 200,
            height: 30,
            items: [
                {
                    xtype: 'checkbox',
                    name: 'field1',
                    boxLabel: 'Order aktiverad'
                }
            ]
        })
 });

Спасибо!

Ответы [ 4 ]

4 голосов
/ 07 октября 2009

Разве вы не можете просто поставить флажок itemId и использовать getCmp ()?

1 голос
/ 02 мая 2013

itemId должен использоваться с контейнером, в котором отображается компонент, к которому вы хотите получить доступ. Также для itemId вы должны использовать функцию getComponent () вместо getCmp ().

Итак, если у вас есть компонент с itemId "a", который находится в контейнере "c", то вы можете получить доступ к "a", используя

c.getComponent ( 'а')

Следующая ссылка объясняет разницу между id и itemId.

http://docs.sencha.com/extjs/3.4.0/#!/api/Ext.form.Checkbox-cfg-itemId

1 голос
/ 04 января 2013

используйте конфигурацию "ref" следующим образом:

var grid = new Ext.grid.EditorGridPanel({    
tbar: new Ext.Toolbar({
            width: 200,
            height: 30,
            items: [
                {
                    xtype: 'checkbox',
                    name: 'field1',
                    boxLabel: 'Order aktiverad',
                    ref: '../myCheckbox'
                }
            ]
        })
});

var checkboxValue = grid.myCheckbox.getValue();

См. Также параметр конфигурации "ref" здесь: http://docs.sencha.com/ext-js/3-4/#!/api/Ext.Component

1 голос
/ 07 октября 2009

Спасибо за ответ. Подтолкнул меня в правильном направлении; Я даже не знал о getCmp ().

Пробовал Ext.getCmp () с itemId, но он не нашел его. Я дал ему идентификатор, и это сработало:

tbar: [
                {
                    xtype: 'checkbox',
                    name: 'field1',
                    boxLabel: 'Order aktiverad',

                    id : 'cb_order_active'
                },
                {
                    //Button        
                    text: 'Test',
                    handler : function(){
                        alert(Ext.getCmp('cb_order_active').getValue());
                    }
                }
            ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...