2016-05-12 10 views
0

Ich habe einen Datepicker in einem Extjs-Fenster. Das Mindestdatum und das Standarddatum sollten beispielsweise von einem DateSTORE-Geschäft stammen. Wie kann ich dies tun? Das ist mein Code.Default- und MinDate-Wert von Extjs Datepicker dynamisch setzen

 { 
                xtype:'datefield', 
                margin: '20 20 0 10', 
                labelAlign: 'right', 
                labelWidth: 140, 
                width: 350, 
                itemId:'beginningDate', 
                fieldLabel: "Beginning Date", 
                minDate:function(){ 

                waitForStoreLoading([Ext.StoreManager.lookup('DateSTORE').load()], function() { 
                 debugger 

                 var dateStore = Ext.StoreManager.lookup('DateSTORE').data.items[0].data.ProductionMonth; 
                 return jsDate = new Date(parseInt(dateStore.substr(6))); 
                 var monthProduction = DateSTORE.data.items[0].data.ProductionMonthString 
                 Ext.apply(Ext.getCmp('Window').down('#beginningDate'), {minDate:jsDate}); 
                 Ext.getCmp('Window').down('#beginningDate').getView.refresh(); 
                }); 
                }(), 

Aber der Laden nicht definiert wird. versucht, das Datum beim Klicken auf die Schaltfläche einzustellen, die dieses bestimmte "Fenster" öffnet. Aber es passiert auch nicht. Irgendwelche Ideen?

Antwort

0

versuchen min Wert auf Speicher des Ladeereignis zu setzen

// datefield

{ 
    xtype:'datefield', 
    margin: '20 20 0 10', 
    labelAlign: 'right', 
    labelWidth: 140, 
    width: 350, 
    itemId:'beginningDate', 
    fieldLabel: "Beginning Date", 
    id:"beginningDate" 
} 

// store

{ 
    listeners:{ 
     load:funciton(store, records){ 
      var str = records[0].get("ProductionMonth"); 
      var datefield = Ext.getCmp("beginningDate"); 
      datefield.setMinValue(str); 
    }  
} 
+0

, die perfekt gearbeitet. Vielen Dank. Ich wusste nichts von der setMinValue-Eigenschaft. – bharath