2011-04-19 55 views
0

我正在使用Rails在ExtJs中開發應用程序,其中有一個選項卡面板。主選項卡包含左側按鈕的列表。點擊每個按鈕將打開一個新標籤,並呈現一個網格或表單。當我從表單中添加新記錄時,它會立即顯示在網格上,但如果關閉了選項卡面板並再次單擊該按鈕,則不會顯示任何網格。EditorGrid面板+按鈕 - 重新加載數據問題

如何重新加載網格和數據?

P.S:當我手動刷新瀏覽器時,它再次顯示!

在此先感謝!

mycode的:

//** MyUnit.js in Units controller**// 

MyUnit = Ext.extend(MyUnitUi, { 
     initComponent: function() { 
     MyUnit.superclass.initComponent.call(this); 

      //Insert records... 

       var sbtn=Ext.getCmp('btnSave'); 

       sbtn.on('click',function(){ 
       var grid = Ext.getCmp('maingrid'); 
       var unitname = Ext.getCmp('unitname').getValue(); 
       var description = Ext.getCmp('description').getValue(); 

       var frm=Ext.getCmp('myform'); 

       Ext.Ajax.request({ 
       url: '/units', 
       method: 'POST', 

       params: {'data[unitname]':unitname,'data[description]':description} 

     }); 
       var grid=Ext.getCmp('maingrid'); 
       grid.store.reload(); 
       grid.show(); 
       frm.hide(); 
      }); 

}); 

//** MyViewport.js in Test1 Controller **// 

    var unit_bt =Ext.getCmp('btnUnit'); 
     unit_bt.on('click', function(){ 
     var unit_el =Ext.getCmp('tabcon'); 
     var tab = unit_el.getItem('tab_unit'); 
     if(tab) 
     { 
      tab.show(); 
     }else{ 
      unit_el.add({ 
       title : 'Unit of Measurement', 
       html  : 'I am new unit', 
       activeTab: 0, 
       closable : true , 
       id: 'tab_unit', 
       autoLoad:{url:'/units',scripts:true} 
       //store.load({params:{start:0, limit:25}}) 

      }).show(); 
      } 
     }); 

//** Units/index.html **// 
<!DOCTYPE html> 

<!-- Auto Generated with Ext Designer --> 
<!-- Modifications to this file will be overwritten. --> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>unit.xds</title> 
    <link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-3.3.1/resources/css/ext-all.css"/> 
    <script type="text/javascript" src="http://extjs.cachefly.net/ext-3.3.1/adapter/ext/ext-base.js"></script> 
    <script type="text/javascript" src="http://extjs.cachefly.net/ext-3.3.1/ext-all-debug.js"></script> 
    <script type="text/javascript" src="MyUnit.ui.js"></script> 
    <script type="text/javascript" src="MyUnit.js"></script> 
    <script type="text/javascript" src="MyUnitStore.js"></script> 
    <script type="text/javascript" src="xds_index.js"></script> 
</head> 
<body></body> 
</html> 
+0

@rashmi ..你可以發佈您的代碼? – 2011-04-19 05:27:30

+0

@Abdel:已發佈代碼。 – Rashmi 2011-04-19 06:08:52

+0

你是否也可以在初始化網格的地方發佈代碼?我的猜測是你的網格呈現在標籤中。然後當你關閉你的標籤時,你的網格和你的標籤一起被刪除,所以這就是爲什麼它在第二次嘗試中消失的原因。嘗試發佈更多,所以我們可以提供幫助。 – 2011-04-19 06:14:00

回答

0

@All:謝謝你的努力。那麼我的朋友找到了解決方案。

的問題只是得到了再次加入以下代碼行中units.js解決:

var grid=Ext.getCmp('maingrid'); 
grid.store.reload();