2009-10-07 7 views
2

Est-ce que quelqu'un pourrait me dire la manière préférée d'obtenir une référence à la case à cocher si c'est dans une barre d'outils dans un EditorGridPanel? Je voudrais simplement appeler getValue() pour pouvoir faire des choses avec.Comment obtenir une référence à une case à cocher dans une barre d'outils?

Mon EditorGridPanel est construit similaire à celui ci-dessous (plus quelques propriétés de configuration):

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

Merci!

Répondre

1

utiliser la configuration "ref" comme ceci:

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

Voir aussi l'option de configuration "ref" ici: http://docs.sencha.com/ext-js/3-4/#!/api/Ext.Component

4

Ne pouvez-vous pas donner à la case un itemId, et utiliser getCmp()?

1

Merci pour la réponse. M'a poussé dans la bonne direction; Je ne savais même pas à propos de getCmp().

Essayé Ext.getCmp() avec l'itemId mais il ne l'a pas trouvé. Je lui ai donné une carte d'identité et qui a fonctionné:

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 est supposé être utilisé avec le conteneur dans lequel le composant auquel vous souhaitez accéder est rendu. En outre, pour itemId vous devez utiliser la fonction getComponent() au lieu de getCmp().

Donc, si vous avez composant avec itemId "a", qui est dans le conteneur "c", vous pouvez alors accéder à "un" en utilisant

c.getComponent ('a')

Le lien suivant explique la différence entre id et itemId.

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

Questions connexes