ExtJS4 grid刷新失去数据

赵小宾 发布于 2013/12/31 22:07
阅读 340
收藏 0

我做了两个grid,第一个grid 向第二个grid传参,然后grid显示数据,但是当在第二个grid刷新或点击下一页时传递的参数就没值了~

传参不会弄,就在第一个grid 放了一个隐藏字段,第二个grid获取。

我用的是EXT 的MVC开发模式

第一个grid:

Ext.define('MyExtJS.view.result.Result', {
	extend : 'Ext.grid.Panel',
	alias : 'widget.result',
	id : 'result',
	title : '统计结果分析',
	frame:false,
	border:false,
    selModel: {selType : 'rowmodel'},
	initComponent : function() {
	 	var mystore = Ext.create('MyExtJS.store.SurveyStore');
	 	this.store = mystore;
        mystore.load({params : {start : 0,limit : 10}});
		this.dockedItems =[{
					xtype : 'pagingtoolbar',
					store : mystore, 
					dock : 'bottom',
					displayMsg : '显示第 {0} 条到 第{1} 条记录,一共 {2} 条',
					emptyMsg : '没有数据',
					displayInfo : true
					},{dock : 'top',xtype:'hidden',id:'resultSurveyId'}], this.columns =[
			         {header : "id",dataIndex : 'id',width : 50}, 
                     {header : "名称",dataIndex : 'name',width : 200},
                     {header : "操作",width : 80,xtype : 'actioncolumn',
				         items : [{
							iconCls : 'detailed',
							tooltip : "查看该问卷统计结果",
							handler : function(grid, rowIndex, colIndex,record) {
								var rec = grid.getStore().getAt(rowIndex);
								if (rec) {
											var data =rec.data;
											Ext.getCmp("resultSurveyId").setValue(data.id);
											}
								
								var tabs = Ext.getCmp('centerTab');// 获得中间tab面板
								//alert(tabs.items.length);
								var myId=tabs.items.length + 1;
						        var myTab = Ext.create('MyExtJS.view.result.AnalysisList', {
										id : myId,
										title : '调查结果列表',
										closable : true,
										iconCls : 'icon-activity'
									});
								tabs.add(myTab);
					            tabs.setActiveTab(myTab);
								
							
								
						}}]
					}];
this.callParent(arguments);
		}
		
});
第二个grid:



Ext.define('MyExtJS.view.result.AnalysisList', {
	extend : 'Ext.grid.Panel',
	alias : 'widget.analysislist',
	id : 'analysisList',
	title : '调查结果列表',
	selModel: {selType : 'rowmodel'},
	initComponent : function() {
	var mystore = Ext.create('MyExtJS.store.ResultStore');
	this.store = mystore;
	var rsID=Ext.getCmp("resultSurveyId").getValue();
	alert(rsID);
	mystore.load({params : {surveyId : rsID,start : 0,limit : 10}});
	this.dockedItems = [{
				xtype : 'pagingtoolbar',
				store : mystore, // same store GridPanel is using
				dock : 'bottom',
				displayMsg : '显示第 {0} 条到 第{1} 条记录,一共 {2} 条',
				emptyMsg : '没有数据',
				displayInfo : true
			}];
    this.features=[Ext.create('Ext.grid.feature.GroupingSummary', {
	    	groupByText : '用本字段分组',
	    	showGroupsText : '显示分组',
	        groupHeaderTpl: '题目: {name} ({rows.length})', //分组标题模版
	        startCollapsed: true //设置初始分组是否收起 
	    })],
	this.columns = [
        {header : "id",dataIndex : 'id',id :'analysisId',width : 50}, 
        {header : "样本数",dataIndex : 'totalCount',width : 200,
        		summaryType: 'count',//求数量
				summaryRenderer: function(value){return '该题目选项组合数:'+value;}}, 
        {header : "有效数",dataIndex : 'effectiveCount',width : 100}, 
        {header : "缺失数",dataIndex : 'defectiveCount',width : 100},
        {header : "有效率",dataIndex : 'effectiveRate',width : 100}, 
        {header : "缺失率",dataIndex : 'defectiveRate',width : 100}, 
        {header : "操作",width : 80,xtype : 'actioncolumn',
	         items : [{
				iconCls : 'detailed',
				tooltip : "查看该题目的具体统计结果",
				handler : function(grid, rowIndex, colIndex,record) {
					 //Ext.create('MyExtJS.view.survey.SurveyContent').show();
				}
			
	         }]
	}];
	this.callParent(arguments);
}
		});

请问是怎么回事呢??



加载中
返回顶部
顶部