Sencha Touch如何强制视口/面板调整大小

时间:2013-06-12 09:17:04

标签: sencha-touch-2 sencha-touch-2.1

使用来自以下网站的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();


},

请帮我解决这个问题..提前谢谢

1 个答案:

答案 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()方法来获取布局..

感谢所有的帮助......快乐的编码......