2016-05-18 3 views
2

Ich schreibe eine generische Klasse, die von ExtJS Grid abgeleitet ist, und ich muss überprüfen, dass das grouping Feature während der Instanziierung der Symbolleiste verwendet wird (wenn grouping aktiviert ist, möchte ich automatisch hinzufügen zwei Schaltflächen zum Reduzieren/Erweitern aller Gruppen).Get Grid Feature von ftype, nicht ID

var groupingFeature = me.getView().getFeature("grouping") 
if(groupingFeature && me.store.grouper) { 
    me.toolbar.insert(0,[{ 
     iconCls:'icon-plus', 
     handler:function() { 
      groupingFeature.expandAll(); 
     } 
    },{ 
     iconCls:'icon-minus', 
     handler:function() { 
      groupingFeature.collapseAll(); 
     } 
    }]); 
} 

Aber die Gruppierungsfunktion nicht aktiviert ist, weil getFeature nur mit ID funktioniert (und ich kann nicht darauf verlassen, dass eine spezielle ID für jede Gruppierung Funktion hinzugefügt wird).

Gibt es eine Möglichkeit, die Funktion von ftype zu bekommen?

Antwort

3

Sie von ftype in einer Schleife über die Funktionen Array suchen könnten oder die privaten Methode findFeature des Ext.grid.View verwenden, die dies tun. Durch die extjs documentation:

findet Funktionen von ftype im Array Funktionen

So diese Funktion verwenden, sollten Sie Sie die erforderlichen Informationen erhalten.

var view = me.getView(); 
var groupingFeature = view.findFeature("grouping");