0

我正在使用来自以下站点的 sencha touch calendar 插件 http://www.swarmonline.com/2011/11/ext-ux-touchcalendar/#comment-37096 该插件工作正常..但我无法显示事件点 onload.它们仅在我更改浏览器窗口的大小时出现,即最大化或恢复它。如何解决问题?

我如何调用 doComponentLayout(); 在我的控制器功能里面?或者我想调整视口的大小?我不知道如何调用这个函数,这是我的控制器

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();


},

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

4

1 回答 1

0

我解决了这个问题..问题是商店没有在周期变化中进行芳香更新..

我以这种格式重写我的函数。刷新商店回调函数中的触摸日历视图

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

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

于 2013-06-13T06:17:05.633 回答