2013-06-11 4 views
0

내 캘린더에서 특정 날짜를 사용하지 않으려합니다. 이 작업을 수행하는 코드가 있지만이 코드에서는 날짜가 정적으로로드됩니다. 데이터베이스에서 날짜 목록을 가져와야합니다.ExtJS 캘린더에서 날짜 사용 중지

데이터베이스에서 데이터를 검색하는 방법을 알고 있지만 상점에서 뷰 배열로 데이터를 전달하는 방법을 모르겠습니다. 누구든지 해결하도록 도와 줄 수 있습니까? 당신은 단순히 같은 것을 할 수있는,

dateArray = ["06/17/2007","06/01/2007","05/17/2007","05/01/2007"]; 

dateField = new Ext.form.DateField({ 
      format:"m/d/Y", 
      disabledDates:["^("+dateArray.join("|")+").*$"], 
      disabledDatesText:"Date not available." 
}); 
+0

가장 간단한 방법은 요청 콜백을 닫을 때 사용할 수있는 뷰 또는 저장소에 대한 참조를 만드는 것입니다. 콜백에서 사용자 지정 이벤트를 발생시키고 컨트롤러의 어딘가에 반응하여보기를 업데이트하는 것이 더 깔끔할 수 있습니다. 요청 및보기 코드를 모른 채 설명하기가 어렵습니다. – rixo

답변

0

disabledDates 설정 옵션은 날짜의 배열을 받아, 그래서 당신이 말하는 경우 편리 상점이 있습니다 ...

var disabledDates = []; 
store.each(function(record){ 
    disabledDates.push(record.get('putYourDateFieldNameHere')); 
}); 
dateField = new Ext.form.DateField({ 
      format:"m/d/Y", 
      disabledDates: disabledDates, 
      disabledDatesText:"Date not available." 
}); 
+0

작동하지 않는 Drakes :( – user2473307

0

는 시도를

var disabledDates = []; 
store.each(function(record){ 
    disabledDates.push(record.get('putYourDateFieldNameHere')); 
}); 
dateField = new Ext.form.DateField({ 
      format:"m/d/Y", 
      disabledDatesText:"Date not available." 
}); 
dateField.setDisabledDates(disabledDates); 
관련 문제