试图从工具栏中引用ExtJS Grid

时间:2014-06-23 16:24:38

标签: javascript extjs

我有一个网格..

我有一个工具栏..

Ext.define('js.grid.PackageGrid', {

    extend: 'Ext.grid.Panel',

    tbar: [{
         GridUtils.getSearchTextField(myGridReferenceHere)
    }]

}

我需要获得对定义Grid的引用。我不确定这是可能的。有可能吗?

  • 我尝试了这个,但这给了我一些其他有趣的全球对象。
  • 我尝试使用变量并将其传递但最终成为未定义的对象(例如:var ref = Ext.define(' js.grid.PackageGrid'))

从原始海报编辑:

我最终这样做:文本字段在网格中定义,只有搜索操作被委托给另一个方法。

tbar:[{

        xtype: 'textfield', enableKeyEvents: true, listeners: {
            keyup: function (string) {

                var grid = this.up();

                gridUtils.getSearchAction(tablestore, string, grid)
            }
        }

}]

2 个答案:

答案 0 :(得分:1)

在定义时间内无法实现。在网格和工具栏都不存在时执行上述方法。您可以在initComponent执行网格或工具栏期间获取引用,但不能在定义时获取引用。

有关详细信息,请参阅:

答案 1 :(得分:0)

试试这个:

tbar: [{
     GridUtils.getSearchTextField(this.up())
}]

http://docs-devel.sencha.com/extjs/4.2.1/#!/api/Ext.toolbar.Toolbar-method-up