引用gridPanel 中 tbar 中按钮的问题

昨天调试代码,老是获取不到tbar中的按钮,今天正好看到一篇博文,总结一下:

情况一

环境:login窗体

           

步骤:打开浏览器控制台,输入一下命令,回车

            Ext.ComponentQuery.query('button');

            出现6个按钮,继续尝试:

           Ext.ComponentQuery.query('login form button');

           出现2个按钮,继续尝试:

            Ext.ComponentQuery.query('login form button#submit');

           出现Submit按钮,同理

           Ext.ComponentQuery.query('login form button#cancel');

           出现取消按钮。

情况二(来自一篇博文)

         

如果想给gridPanel中tbar中的按钮添加事件,那么必须要获得这个按钮。

是否想使用: aGrid.findByType('aButton')[0] ?

使用的结果是报错,说 这个变量不存在。


怎么回事?

原来:

gridPanel虽然是一个Container,可以使用findByType()方法,但是,tbar中的按钮并不属于grid,而且,tbar也不是grid的item,没有包含关系。


所以,我们如果想给tbar中的第一个按钮添加事件,就需要:

aGrid.getTopToolbar().findByType('button')[0].on('click',this.onClick,this);

          




你可能感兴趣的:(引用gridPanel 中 tbar 中按钮的问题)