2009-10-07 53 views
2

有人能告訴我,如果它在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' 
       } 
      ] 
     }) 
}); 

謝謝!

回答

1

使用 「裁判」 的配置是這樣的:

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(); 

另見 「參考」 配置選項的位置: http://docs.sencha.com/ext-js/3-4/#!/api/Ext.Component

4

你不能只給複選框一個itemId,並使用getCmp()?

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()); 
        } 
       } 
      ] 
1

的itemId是應該與您想要訪問的組件所在的容器一起使用。另外,對於itemId,您應該使用getComponent()函數而不是getCmp()。

因此,如果你有的itemId 「一個」,這是在容器中的 「c」 組件隨後可以訪問的 「a」 使用

c.getComponent( 'A')

以下鏈接解釋了id和itemId之間的區別。

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