【问题标题】:EXTJS GridPanel Inside Window Is Not Loading Updated Data From Store When Window is Re-Opened重新打开窗口时,窗口内的 EXTJS GridPanel 未从存储中加载更新的数据
【发布时间】:2011-08-29 21:49:41
【问题描述】:

我有一个 EXT 表单,它打开一个包含 GridPanel 的窗口,每次提交表单时都需要更新数据存储。网格显示从客户端计算机上载的文件列表。在我关闭窗口并选择不同的文件组之前,所有这些都可以正常工作。我遇到的问题是,当包含网格的窗口关闭然后重新打开时,它显示的是先前加载的第一组文件,而不是从表单提交的新文件列表。希望这是有道理的。

我试过 grid.getView().refresh() 但这并没有更新网格。下面是我的窗口、表单、网格和 JSON 存储的代码。如果有人在此之前看到过,我肯定会很感激一些建议。 (对于代码格式的道歉......让它在这个文本框可读时遇到了很多麻烦)

//window that holds grid   
SPST.window.POGCheckInWindow = Ext.extend(SPST.window.WindowBaseCls, {
    id: 'POGCheckInWindow'  
    ,initComponent:function() {  
    var config = {  
            title: 'Check In POG Files'
            ,width      : 1000  
            ,height     : 500  
            ,maximizable: false  
            ,shadow : false  
            ,closeable: true  
            ,closeAction: 'hide'  
       ,items: [{  
       xtype   : 'checkin_results_grid'  
    ,id     : 'POGCheckInGrid'  
    ,height : 450  
             ,width  : 990  
        ,frame  : true }   
]};  
Ext.apply(this, Ext.apply(this.initialConfig, config));   
    SPST.window.POGCheckInWindow.superclass.initComponent.apply(this, arguments);  
    }    
});
Ext.reg('pog_checkin_window',SPST.window.POGCheckInWindow);  



//function to submit the form, load the store and open the window containing the gridpanel  
checkin:function() {  
    if (this.getForm().isValid()){  
        this.getForm().submit({  
        url: 'components/POG.cfc?method=uploadPOGTemp' + '&dsn=' + SPST_dsn  
        ,method: 'GET'  
        ,scope:this  
        ,success: function(form, action){  
var chkinwin = new SPST.window.POGCheckInWindow();  

Ext.getCmp('POGCheckInGrid').getStore().load({params:  {dsn: SPST_dsn, 
pogfiles: action.result.pogfiles, project_id: action.result.project_id}  
,callback: function(rec, options, success){      
Ext.getCmp('POGCheckInGrid').getView().refresh();  
            }  
            });  
            chkinwin.show();  
        }
        ,failure:this.showError  
        ,waitMsg:'Uploading files...'
        });  
    }  
}  



// create the data store for grid
    var chkstore = new Ext.data.JsonStore({  
    // JsonReader configuration  
    root           : 'jsonlist' 
    ,fields        : chkfields  
    ,id    : 'chkstoreid'  
    // JsonStore configuration  
    ,autoLoad       : true  
    ,remoteSort     : true  
    ,autoDestroy: true
    ,sortInfo: {  
             field: 'POGNAME',  
             direction: 'ASC'  
        }
    ,url   : 'components/POG.cfc?method=getPOGTempFiles' + '&dsn=' + SPST_dsn  

});


//grid that loads inside ext window  
SPST.grid.POGCheckInGrid = Ext.extend(SPST.grid.GridPanelBaseCls, {  
view: new Ext.grid.GridView({  
    getRowClass: function(rec, idx, rowPrms, ds)  
    {  
    return rec.data.VERSION_DSC === 'INVALID VERSION#' ? 'invalid-cls' : '';  
    }  
}),  
initComponent : function() {    
var config = {  
    colModel   : chkcolModel  
    ,selModel   : chkselModel  
    ,store      : chkstore  
    ,autoDestroy: true  
    ,xtype      : 'checkin_results_grid'  
    ,buttons: [  
        {  
        text: 'Upload'  
        ,handler: this.loadPOGCheckin  
        ,scope  : this  
        },  
        {  
        text: 'Cancel'  
        ,handler: this.checkinwindowclose  
        ,scope  : this  
        }
]  
}  
Ext.apply(this, Ext.apply(this.initialConfig, config));  
SPST.grid.POGCheckInGrid.superclass.initComponent.apply(this, arguments);  
}  

,onRender  : function() {  
this.getBottomToolbar().bindStore(chkstore);  
SPST.grid.POGCheckInGrid.superclass.onRender.apply(this, arguments);  
}

【问题讨论】:

    标签: extjs


    【解决方案1】:

    据我了解,根据您选择的不同文件集,您不仅需要refresh 视图,还需要reload store..

    所以,不要这样做

    grid.getView().refresh() 使用grid.getStore().reload([new-options-if-required]);.. 这将根据传递的选项(如果有)重新加载存储,或者根据上次加载选项重新加载存储。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-24
      • 1970-01-01
      • 2010-11-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多