使用来自以下网站的sencha touch日历插件 http://www.swarmonline.com/2011/11/ext-ux-touchcalendar/#comment-37096 该插件工作正常..但我有一个问题,显示事件点onload。他们只出现在我改变浏览器窗口的大小,即最大化或恢复它。如何解决问题?
我如何调用doComponentLayout();在我的cotroller功能里面?或者我想调整视口大小?我不知道如何调用这个函数,这是我的控制器
onPeriodChange: function(view, minDate, maxDate, direction){
console.log('periodchange');
console.log(view);
console.log(minDate);
var monthstartdate = Ext.Date.format(minDate, 'm/d/Y');
var url = 'http://blr.amt.in:8081/CRM_API/TaskCalendar.ashx?';
var urlafter = url + 'monthstartdate='+ monthstartdate;
// proxy change
var group_store = Ext.getStore("Events");
group_store.getProxy().setUrl(urlafter);
group_store.load();
var touchcal = Ext.getCmp('EventListPanel');
// touchcal.doLayout();
//Ext.getCmp('EventListPanel').doComponentLayout();
//Ext.Viewport.doLayout(); // ***getting an error msg Cannot call method 'doComponentLayout' of undefined***
WinReo.viewport.doComponentLayout();
var storecount = group_store.getCount();
},
请帮我解决这个问题..提前谢谢
答案 0 :(得分:0)
我解决了这个问题..问题是商店在期间变化时没有按照颜色进行更新..
我以这种格式重写我的功能。刷新商店回调函数中的touchcalendar视图
onPeriodChange: function(view, minDate, maxDate, direction){
var monthstartdate = Ext.Date.format(minDate, 'm/d/Y');
var url = 'http://blr.example.in:8081/CRM_API/TaskCalendar.ashx?';
var urlafter = url + 'monthstartdate='+ monthstartdate;
var group_store = Ext.getStore("Events");
group_store.getProxy().setUrl(urlafter);
group_store.load(function(){
Ext.getCmp('touchcalendarview').refresh();
});
}
还要解决有关面板布局更改的其他问题 sencha touch 2.0删除了这个函数dolayout(),docomponentlayout()..
而不是我们可以使用setHeight(),getHeight()方法来获取布局..
感谢所有的帮助......快乐的编码......