2 Stimmen

Wie erhält man einen Verweis auf ein Kontrollkästchen in einer Symbolleiste?

Könnte mir jemand sagen, die bevorzugte Art und Weise des Erhaltens eines Verweises auf Checkbox, wenn seine in einer Symbolleiste in einem EditorGridPanel? Ich möchte einfach die getValue() auf es aufrufen, so dass ich Sachen mit ihm tun können.

Meine EditorGridPanel ist ähnlich wie die unten (plus ein paar mehr config Eigenschaften) gebaut:

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

Danke!

4voto

timdev Punkte 59971

Können Sie dem Kontrollkästchen nicht einfach eine itemId geben und getCmp() verwenden?

2voto

Aicos Punkte 182

Vielen Dank für die Antwort. Schob mich in die richtige Richtung; Ich wusste nicht einmal, über getCmp().

Ich habe es mit Ext.getCmp() mit der itemId versucht, aber es hat sie nicht gefunden. Ich gab ihm eine ID und das funktionierte:

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

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

2voto

Sergio Punkte 1139

Verwenden Sie die "ref"-Konfiguration wie folgt:

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

Siehe auch die Konfigurationsoption "ref" hier: http://docs.sencha.com/ext-js/3-4/#!/api/Ext.Component

1voto

Pratik Patel Punkte 1245

ItemId soll mit dem Container verwendet werden, in dem die Komponente, auf die Sie zugreifen wollen, gerendert wird. Außerdem sollten Sie für itemId die Funktion getComponent() anstelle von getCmp() verwenden.

Wenn Sie also eine Komponente mit der itemId "a" haben, die sich im Container "c" befindet, können Sie auf "a" zugreifen, indem Sie

c.getComponent('a')

Der folgende Link erklärt den Unterschied zwischen id und itemId.

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X