如何在工具栏中获取对复选框的引用?

时间:2009-10-07 19:08:28

标签: extjs

有人可以告诉我在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 个答案:

答案 0 :(得分:4)

你能不能给复选框一个itemId,并使用getCmp()?

答案 1 :(得分:1)

感谢您的回答。把我推向正确的方向;我甚至都不知道getCmp()。

使用itemId尝试Ext.getCmp(),但没找到它。我给了它一个id,并且有效:

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

                    id : 'cb_order_active'
                },
                {
                    //Button        
                    text: 'Test',
                    handler : function(){
                        alert(Ext.getCmp('cb_order_active').getValue());
                    }
                }
            ]

答案 2 :(得分:1)

使用“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

答案 3 :(得分:1)

itemId应该与要在其中呈现要访问的组件的容器一起使用。此外,对于itemId,您应该使用getComponent()函数而不是getCmp()。

所以,如果你有使用itemId“a”的组件,它位于容器“c”中,那么你可以使用

访问“a”
  

c.getComponent( 'a')的

以下链接说明了id和itemId之间的区别。

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