2011-04-19 56 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();