GridPanel的一个奇怪问题。


找了快1个小时,就是不知道错误在哪里。。。郁闷
我在鼠标左侧点击tree节点,在右侧创建一个标签页,这个已经能够实现,于是我再在新建的标签页里嵌套一个Grid。
奇怪的问题出现了。。
FF和IE下都没报错。但是Grid就是不显示。本来我以为我代码错误。于是我狂找我的代码问题,无意中关掉FF的firbug插件界面,grid就现实出来了。。。原来只要我的窗口发生任何变化Grid才会显示出来。
请问这是我代码问题还是bug?如何解决?

补充一下,我直接在TabPanel里面用items管理grid对象并没问题。但是我用添加事件后在其中管理就出问题了。
文件都是封装在类包里面的。所以只贴关键部分
这是监听事件。

listeners:{
				'click':function(node, event) {
			   			event.stopEvent();
						//把根节点的选择判断去除
						if(node.text=="SamPeng" || node.text == "文章管理" || node.text == "产品管理" || node.text == "信息管理" || node.text == "来访管理"){
						}else{
							var n = main.getComponent(node.id);
							if (!n) { //判断是否已经打开该面板
									//如果是按的文章列表,新建一个列表对象并且丢进新的标签页
								if(node.text == "文章列表"){
									var grid=new SamPeng.account.list();
									n = main.add({
									'id':node.id,
									'title':node.text,
							   		items: [{layout:"fit",items:grid}]
								});}
							}
						 main.setActiveTab(n);
							}
						}



然后是我的tab面板创建类

* Copyright(c) 2008-2010, SamPeng Inc.
 */
 package("SamPeng.panel");
 /**
 * 作用: 用来创建中间的主显示面板
 * 作者:SamPeng
 * 时间:2008年9月24日1:24:42 
 */
	SamPeng.panel.main = function(config){
		
		var config=config || {};
		var deconfig={
 					renderTo:'mainlay',
					width:1000,
					height:561,
					activeTab:0,
					plain: true,
					border: true,
					tabPosition: 'top',
					frame: true,
					autoScroll: true,
					enableTabScroll:true,//超过宽度就自动两边多出滚动条
				     items:[{
								title:"首页"
							}
						   ]			
					}
		Ext.applyIf(config,deconfig);
		SamPeng.panel.main.superclass.constructor.call(this,config);
	 }
	Ext.extend(SamPeng.panel.main,Ext.TabPanel);



Grid的就只贴数据源和属性的了。

	
		/*******************************************************
		* 为表格建立数据源
		* 	链接后台,并且按每一页的数据列表返回
		*	用Json数据格式传递
		*******************************************************/
		this.dataStore = new Ext.data.Store({
			proxy: new Ext.data.HttpProxy({
			   url: 'php/article_list.php',
			   disableCaching:false
			}),
	 
			reader: new Ext.data.JsonReader({
				root: 'results',
				totalProperty: 'total',
				id:'id'
			},[
			   {name: 'id'},
			   {name: 'name'},
			   {name: 'typename'},
			   {name: 'time'},
			])
		}); 
		this.dataStore.load({params:{start:0, limit:this.myPageSize}});	
。。。
。。。省略很多
。。。
		/*******************************************************
		* 构造编辑列表面板(GridPanel)
		*******************************************************/
		SamPeng.account.list.superclass.constructor.call(this, {
				id: 'list-account-panel',                 
				ds: this.dataStore,
				cm: art_cm,	
				sm: selectBoxModel,
				height:500,
				tbar: pagingbar,
				bbar: menubar,
				loadMask: {msg: '读取数据中 ...'},
				enableColumnHide: false,
				autoScroll:true
				//region:'center'
		});

               Ext.extend(SamPeng.account.list, Ext.grid.GridPanel, {
    reload : function() {      
		this.dataStore.load({params:{start:0, limit:this.myPageSize}});	
	},
    // 调用删除数据
    // 服务器通过接受参数返回删除的数据
    deleteData : function (jsonData) {   
    	this.dataStore.load({params:{start:0, limit:this.myPageSize, delData:jsonData}});
    }	



谢谢各位大侠了!
问题状况是我浏览器不动,Grid死活不显示,浏览器一变,Grid就出来了。而且是按照我设定的参数大小显示的。不明白倒底问题出在哪里。只有这么多分了。望指教

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值