【发布时间】:2011-04-19 23:41:22
【问题描述】:
我正在使用 Rails 在 ExtJs 中开发一个应用程序,其中有一个选项卡面板。主选项卡包含左侧的按钮列表。单击每个按钮将打开一个新选项卡,并呈现一个网格或表单。当我从表单添加新记录时,它会立即显示在网格上,但如果我关闭选项卡面板并再次单击按钮,则不会显示网格。
如何再次加载网格和数据?
P.S:当我手动刷新浏览器时,它又显示了!!
提前致谢!!
我的代码:
//** 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>
【问题讨论】:
-
@rashmi.. 你能发布你的代码吗?
-
@Abdel : 已发布代码。
-
您还可以在初始化网格的位置发布代码吗?我的猜测是您将网格渲染到选项卡中。然后,当您关闭选项卡时,您的网格将与您的选项卡一起删除,这就是为什么它在第二次尝试时消失的原因。尝试发布更多信息,以便我们提供帮助。
-
@Lionel:是的,你的猜测绝对正确!好吧,我已经发布了 index.html 页面。 Viewport.js 中的代码,即 url: /units 将呈现 units/index.html 页面。
标签: ruby-on-rails extjs