论坛首页 Web前端技术论坛

也来秀秀,我的Ext学习成果

浏览 33557 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (5) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-06-20  
EXT感觉性能还是不是很好!
0 请登录后投票
   发表时间:2008-06-20  
Run 写道
EXT感觉性能还是不是很好!


这个是的呀,天生注定叻,但是我觉得这样的思想和模式是发展的方向。
0 请登录后投票
   发表时间:2008-06-20  
我觉得这个方向是比较好的方向,趋势所至。
0 请登录后投票
   发表时间:2008-06-20  
如何在formpanel里显示label。

FormPanel是我们经常会使用的panel,当我们在修改的功能的时候,有时会有这样的需求,就是在form里有些字段是label,是只能view,而不能去修改的,看似很简单的功能,在Ext要做好还是要动些脑筋的,

1. 使用load加载所有数据 这个问题很好解决
2. 显示label字段,这个试叻好久,就是不好做。最后用一个textfield做成disabled或者readonly状态。结果出现第三个问题
3. reset form时,这个只能view的字段也被reset叻。

第三个问题,最终通过在load里加callback的方式得到解决。
0 请登录后投票
   发表时间:2008-06-20  
tubinee 写道
如何在formpanel里显示label。

FormPanel是我们经常会使用的panel,当我们在修改的功能的时候,有时会有这样的需求,就是在form里有些字段是label,是只能view,而不能去修改的,看似很简单的功能,在Ext要做好还是要动些脑筋的,

1. 使用load加载所有数据 这个问题很好解决
2. 显示label字段,这个试叻好久,就是不好做。最后用一个textfield做成disabled或者readonly状态。结果出现第三个问题
3. reset form时,这个只能view的字段也被reset叻。

第三个问题,最终通过在load里加callback的方式得到解决。


reset:function(formpanel)
	{
		if(!formpanel)
			return false;
		var form;
		
		if(typeof formpanel == "string")
		{
			form = Ext.getCmp(formpanel);
		}
		else
		{
			form = gridpanel;
		}
		
		indexs = new Array();
		values = new Array();
		
		if(form.items.items)
		{
			idx = 0;
			
			for(ind = 0; ind < form.items.items.length; ind ++)
			{
				if(form.items.items[ind].readOnly)
				{
					indexs[idx] = ind;
					values[idx] = form.items.items[ind].value;
					idx++;
				}
			}
		}
		
		form.form.reset();
		
		for(ind = 0; ind < indexs.length;)
		{
			form.items.items[indexs[ind]].setValue(values[ind]);
			ind ++;
		}
		
		delete indexs;
		delete values;
		
		return form;
	}
0 请登录后投票
   发表时间:2008-06-21  
tubinee 写道
如何在formpanel里显示label。

FormPanel是我们经常会使用的panel,当我们在修改的功能的时候,有时会有这样的需求,就是在form里有些字段是label,是只能view,而不能去修改的,看似很简单的功能,在Ext要做好还是要动些脑筋的,

1. 使用load加载所有数据 这个问题很好解决
2. 显示label字段,这个试叻好久,就是不好做。最后用一个textfield做成disabled或者readonly状态。结果出现第三个问题
3. reset form时,这个只能view的字段也被reset叻。

第三个问题,最终通过在load里加callback的方式得到解决。


reset和clear的完整解决篇

1  clear,实现clear form data功能,readonly和disabled的字段不会被clear,lable类型的实现UI很不美,ext也没有提供label的解决,自己写的label丑陋无比 :-) 毕竟不是美工出身

clear:function(formpanel)
	{
		if(!formpanel)
			return false;
		var form;
		
		if(typeof formpanel == "string")
		{
			form = Ext.getCmp(formpanel);
		}
		else
		{
			form = gridpanel;
		}
		
		indexs = new Array();
		values = new Array();
		
		if(form.items.items)
		{
			idx = 0;
			
			for(ind = 0; ind < form.items.items.length;)
			{
				if(form.items.items[ind].readOnly)
				{
					indexs[idx] = ind;
					values[idx] = form.items.items[ind].value;
					idx++;
				}
				
				 ind ++;
			}
		}
		
		form.form.reset();
		
		for(ind = 0; ind < indexs.length;)
		{
			form.items.items[indexs[ind]].setValue(values[ind]);
			ind ++;
		}
		
		delete ind;
		delete indexs;
		delete values;
		
		return form;
	},


2  reset在create的时候,不需要,因为reset即为clear,主要是在edit的时候,使用load的机制实现的,这些使用的API在Ext的文档里都没有出现,主要是对着源码和firedebug的console发现的。代码如下

reset:function(formpanel)
	{
		if(!formpanel)
			return false;
		var form;
		
		if(typeof formpanel == "string")
		{
			form = Ext.getCmp(formpanel);
		}
		else
		{
			form = gridpanel;
		}
		
		form.form.reset();
		
		if(form.reader&&form.reader.jsonData[form.reader.meta.root]&&form.reader.jsonData[form.reader.meta.root][0])
		{
			for(ind = 0 ; ind < form.form.items.items.length;)
			{
				field = form.items.items[ind];
				field.setValue(form.reader.jsonData[form.reader.meta.root][0][field.dataIndex]);
				ind ++;
			}
		}
		
		delete field;
                  delete ind;

		return form;
	}
0 请登录后投票
   发表时间:2008-06-21  
上传edit form的reset效果

今天原定研究多字段排序的问题。还没有想清楚具体需求应该是怎样的。先放放叻。
  • 大小: 69.9 KB
0 请登录后投票
   发表时间:2008-06-21  
Run 写道
EXT感觉性能还是不是很好!



关于client performance的优化 http://developer.yahoo.com/performance/rules.html#expires


用Yslow跑叻一下网站,Yslow performance grade : F (44)


http://synchrophy.vicp.net/xpress2/report/
0 请登录后投票
   发表时间:2008-06-21  
firefox3的性能极大的提高。

兄弟们,下载下来试试哟。
0 请登录后投票
   发表时间:2008-06-21  
感觉Firefox3快叻很多,

做了权限设定功能,上图先

  • 大小: 75.4 KB
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics