Frage

Mit 4.0.6 habe ich ein Gridpanel mit einem ActionColumn mit zwei Elementen, einer Schaltfläche Löschen und Ansicht. Die Schaltfläche Löschen ist deaktiviert, aber es gibt einige Umstände, unter denen sie aktiviert werden müssen (wenn ein Benutzer ein Administrator ist). Also versuche ich es im Code zu aktivieren.

Hier ist die Ansicht:

Ext.define('PP.view.person.List', {
extend: 'Ext.grid.Panel',
alias: 'widget.personlist', 
title: 'Current people',
store: 'People',
columnLines: true,

initComponent: function () {
    this.columns = [
        { header: 'Id', dataIndex: 'personId', flex: 1, sortable: true },
        { header: 'Title', dataIndex: 'title', flex: 1 },
        { header: 'Name', dataIndex: 'name', flex: 1},
        { xtype:'actioncolumn',
            items:[
                {icon:'cross.gif',disabled:true,handler:function(){alert('delete pressed');}},
                {icon:'tick.gif',handler:function(){alert('view pressed');}}
            ]
        }
    ];

    this.callParent(arguments);
}

});

und die Controller -Funktion, die ich verwende, um zu aktivieren:

enableDel: function () {
    var view = Ext.widget('personlist');
    view.down('actioncolumn').enableAction(0);
}

Aber ich erhalte einen Fehler in der Funktion der EXTJS -EnableAction -Funktion in der Startlinie

me.up('tablepanel').el.select

Das El ist undefiniert. Die Spalte wird auch nicht aktiviert. Kann mir jemand sagen, was ich falsch mache oder ein Beispiel posten, das funktioniert? Wenn ich angeben

renderTo: Ext.getBody()

In der Ansicht erhalte ich den Fehler nicht mehr, aber die Spalte ermöglicht es immer noch nicht. Ich denke, es muss etwas mit dem Rendern zu tun haben, aber ich bin so neu, dass ich keine Ahnung habe, wo ich anfangen soll.

War es hilfreich?

Lösung

Im Allgemeinen, wenn EL undefiniert ist, bedeutet dies, dass Sie versuchen, darauf zuzugreifen, bevor die Komponente gerendert wird. Wann macht dein enableDel Funktion werden aufgerufen? Vielleicht möchten Sie versuchen, es in eine zu setzen afterrender Hörer.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top