2016-06-17 8 views
-1

Ich möchte den Speicher ohne Datensätze laden, wenn ich nicht nach bestimmten Bedingungen suche. Allerdings möchte ich Parameter an meine LoadData() so übergeben, dass ich die leere Text-Eigenschaft mit einem anderen Text überschreiben kann.Parameter an die loadData() übergeben, um die Eigenschaft emptyText in viewCconfig zu überschreiben Methode-EXTJS

this.superclass.constructor.call(this, Ext.apply({ 
      viewConfig:{ 
       emptyText: "No Records" 
      }, 
      fields: [], 
     }); 

    this.on('afterrender', function(){ 
     new Ext.util.DelayedTask(function() { 
      this.getStore().loadData([]); //loading empty data 
     }, this).delay(300); 
    }, this); 

Also, wenn ich den Laden laden möchte ich die emptyText: "Select actions ersetzen „und einmal ausgewählte Aktion wird es Aufzeichnungen oder keine Datensätze angezeigt werden auf den Daten abhängig.

Wenn ich die einfügen“ Auswahl Aktionen Text oben in der ViewConfig, funktioniert es ok beim Laden der Seite, aber wenn keine Datensätze gefunden werden, zeigt es immer noch die "Aktionen auswählen". Gibt es eine Möglichkeit, Params an die Funktion loadData() übergeben, um den Text zu überschreiben? Danke!

Antwort

2

Während @ Saloo das Beispiel funktioniert, lassen Sie mich Ihnen zeigen, was Objektorientierung für Sie tun kann.

Wenn Sie den Code nicht immer und immer wieder kopiert werden soll, hinter jedem loadData, können Sie, in Ihrem Geschäft Definition, überschreiben die vorhandene Funktion loaddata einen anderen Parameter hinzuzufügen, zum Beispiel:

loadData:function(data, append, emptyText) { 
    if(emptyText) { 
     grid.emptyText = '<b> ' + emptyText + ' </b>'; 
     grid.getView().refresh(); 
    } 
    this.callParent(arguments); 
} 

und da gehst du.

+0

Was ist CallParent (Argumente)? – user1234

+0

@ user1234 [Es ruft die Funktion auf, die Sie "ersetzt" haben (die ursprüngliche loadData-Funktion), wie in den Dokumenten] (http://docs.sencha.com/extjs/6.0/6.0.1-classic/#!/api /Ext.Base-Method-CallParent). – Alexander

1

loadData() -Methode nimmt keinen Parameter.

loadData(data, [append]) 

Sie haben anderes Ereignis zu behandeln wie wählen Sie aus Combo und dann das manuell auf Ihrem Zustand basierend viewConfig emptyText ändern und dann die Ansicht aktualisieren.

Ich habe dies auf Grid-Komponente erfolgt wie folgt aus:

if (Ext.isEmpty(records)) { 
     grid.emptyText = '<b> No Document Found </b>'; 
     grid.getView().refresh(); 
    } 
Verwandte Themen