<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JavaChen on JavaExtjs</title>
	<atom:link href="http://www.javachen.com/category/webued/extjs/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.javachen.com</link>
	<description>Just some sharing about Java open source and life</description>
	<lastBuildDate>Mon, 06 Feb 2012 12:16:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Ext读取xml文件生成动态表格和表单(续)</title>
		<link>http://www.javachen.com/2012/01/ext_readxml_in_bjsasc_wuzi_continue/</link>
		<comments>http://www.javachen.com/2012/01/ext_readxml_in_bjsasc_wuzi_continue/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 08:28:12 +0000</pubDate>
		<dc:creator>JavaChen</dc:creator>
				<category><![CDATA[Extjs]]></category>

		<guid isPermaLink="false">http://www.javachen.com/?p=2485</guid>
		<description><![CDATA[很多人向我要《Ext读取xml文件生成动态表格和表单》一文的源代码，故花了些时间将源代码整理出来，并重新编写此文，分享当时的技术思路。 《Ext读取xml文件生成动态表格和表单》一文需要的文件有： 1.html文件，此处以SASC.search.MtrUse.html为例 2.Extjs相关文件,见SASC.search.MtrUse.html文件中的引用 3.工具类，DomUtils.js 4.核心js类:SASC.extjs.search.MtrUse.js 5.java代码 详细html和js代码见相关文件，这里先描述思路。 首先 通过一个事件打开一个弹出窗口，该窗口的url指向SASC.search.MtrUse.html文件，并附带参数xmlFile，xmlFile的值为xml文件名称，其存于服务器的某一路径下面。如：“../SASC.search.MtrUse.html?xmlFile=PC_MTRREPLACE_IMP.xml” .PC_MTRREPLACE_IMP.xml文件的放置路径见DomUtils.js文件中的说明。 在这里，前台会读取该xml生成ext界面，后天会从xml文件读取sql语句等信息，详细信息见java代码。 进入SASC.search.MtrUse.html页面，执行ext的初始化方法时，会先通过当前页面的url中获取xmlFile参数的值（调用getForwardXmlUrl(getQsValue(&#8216;xmlFile&#8217;))），得到xml文件的服务器路径，然后通过javascript的解析该xml文件，渲染出ext界面,这部分代码见SASC.extjs.search.MtrUse.js文件内的initStoreData(xmlObj) 方法。 需要说明的是，xml文件是按照一定规律编写的，详细的参考xml文件内容，以及解析xml文件的相关方法。你可以重新定义该xml的结构，然后修改解析xml文件的方法。 然后 初始化完ext界面之后，会获取表格数据，这部分使用了struts，这不是本文重点，故不做介绍。 最后 相关文件打包见： http://vdisk.weibo.com/s/2enQS 说明 如果还有什么不懂，欢迎email：javachen.june#gmail.com Here is no comments yet by the time your rss reader get this, Do you want to be the first commentor? Hurry up<table class="wumii-related-items" cellspacing="0" cellpadding="3" border="0"  style="clear: both;">
    
    <tr>
        <td colspan="5"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="extjs换肤" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F12%2Fextjs_change_skins%2F&from=http%3A%2F%2Fwww.javachen.com%2F2012%2F01%2Fext_readxml_in_bjsasc_wuzi_continue%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/05/31/10383375.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">extjs换肤</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="用ExtJs制作登陆界面" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fextjs-login-window%2F&from=http%3A%2F%2Fwww.javachen.com%2F2012%2F01%2Fext_readxml_in_bjsasc_wuzi_continue%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/05/31/10382548.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">用ExtJs制作登陆界面</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Ex.get与Ext.fly" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F11%2Fex-get-ext-fly%2F&from=http%3A%2F%2Fwww.javachen.com%2F2012%2F01%2Fext_readxml_in_bjsasc_wuzi_continue%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ex.get与Ext.fly</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Ext.apply 与 Ext.applyIf" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fext-apply-and-ext-applyif%2F&from=http%3A%2F%2Fwww.javachen.com%2F2012%2F01%2Fext_readxml_in_bjsasc_wuzi_continue%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ext.apply 与 Ext.applyIf</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Ext.util.Event" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F03%2Fext-util-event%2F&from=http%3A%2F%2Fwww.javachen.com%2F2012%2F01%2Fext_readxml_in_bjsasc_wuzi_continue%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ext.util.Event</font>
                    </a>
                </td>
        </tr>
    
    <tr>
        <td colspan="5" align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>]]></description>
			<content:encoded><![CDATA[<p>很多人向我要《<a href="http://www.javachen.com/2009/10/ext_readxml_in_bjsasc_wuzi" target="_blank">Ext读取xml文件生成动态表格和表单</a>》一文的源代码，故花了些时间将源代码整理出来，并重新编写此文，分享当时的技术思路。</p>
<p>《Ext读取xml文件生成动态表格和表单》一文需要的文件有：<br />
1.html文件，此处以SASC.search.MtrUse.html为例<br />
2.Extjs相关文件,见SASC.search.MtrUse.html文件中的引用<br />
3.工具类，DomUtils.js<br />
4.核心js类:SASC.extjs.search.MtrUse.js<br />
5.java代码</p>
<p>详细html和js代码见相关文件，这里先描述思路。</p>
<p><strong>首先</strong><br />
通过一个事件打开一个弹出窗口，该窗口的url指向SASC.search.MtrUse.html文件，并附带参数xmlFile，xmlFile的值为xml文件名称，其存于服务器的某一路径下面。如：“../SASC.search.MtrUse.html?xmlFile=PC_MTRREPLACE_IMP.xml” .PC_MTRREPLACE_IMP.xml文件的放置路径见DomUtils.js文件中的说明。</p>
<p>在这里，前台会读取该xml生成ext界面，后天会从xml文件读取sql语句等信息，详细信息见java代码。<br />
进入SASC.search.MtrUse.html页面，执行ext的初始化方法时，会先通过当前页面的url中获取xmlFile参数的值（调用getForwardXmlUrl(getQsValue(&#8216;xmlFile&#8217;))），得到xml文件的服务器路径，然后通过javascript的解析该xml文件，渲染出ext界面,这部分代码见SASC.extjs.search.MtrUse.js文件内的initStoreData(xmlObj) 方法。<br />
需要说明的是，xml文件是按照一定规律编写的，详细的参考xml文件内容，以及解析xml文件的相关方法。你可以重新定义该xml的结构，然后修改解析xml文件的方法。</p>
<p><strong>然后</strong></p>
<p>初始化完ext界面之后，会获取表格数据，这部分使用了struts，这不是本文重点，故不做介绍。</p>
<p><strong>最后</strong><br />
相关文件打包见：<br />
<a href="http://vdisk.weibo.com/s/2enQS" target="_blank">http://vdisk.weibo.com/s/2enQS</a></p>
<p><strong>说明</strong><br />
如果还有什么不懂，欢迎email：javachen.june#gmail.com</p>
<table class="wumii-related-items" cellspacing="0" cellpadding="3" border="0"  style="clear: both;">
    
    <tr>
        <td colspan="5"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="extjs换肤" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F12%2Fextjs_change_skins%2F&from=http%3A%2F%2Fwww.javachen.com%2F2012%2F01%2Fext_readxml_in_bjsasc_wuzi_continue%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/05/31/10383375.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">extjs换肤</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="用ExtJs制作登陆界面" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fextjs-login-window%2F&from=http%3A%2F%2Fwww.javachen.com%2F2012%2F01%2Fext_readxml_in_bjsasc_wuzi_continue%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/05/31/10382548.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">用ExtJs制作登陆界面</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Ex.get与Ext.fly" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F11%2Fex-get-ext-fly%2F&from=http%3A%2F%2Fwww.javachen.com%2F2012%2F01%2Fext_readxml_in_bjsasc_wuzi_continue%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ex.get与Ext.fly</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Ext.apply 与 Ext.applyIf" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fext-apply-and-ext-applyif%2F&from=http%3A%2F%2Fwww.javachen.com%2F2012%2F01%2Fext_readxml_in_bjsasc_wuzi_continue%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ext.apply 与 Ext.applyIf</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Ext.util.Event" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F03%2Fext-util-event%2F&from=http%3A%2F%2Fwww.javachen.com%2F2012%2F01%2Fext_readxml_in_bjsasc_wuzi_continue%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ext.util.Event</font>
                    </a>
                </td>
        </tr>
    
    <tr>
        <td colspan="5" align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>Here is no comments yet by the time  your rss reader get this, Do you want to be the first commentor? Hurry up ]]></content:encoded>
			<wfw:commentRss>http://www.javachen.com/2012/01/ext_readxml_in_bjsasc_wuzi_continue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ext.util.Event</title>
		<link>http://www.javachen.com/2010/03/ext-util-event/</link>
		<comments>http://www.javachen.com/2010/03/ext-util-event/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 14:47:03 +0000</pubDate>
		<dc:creator>JavaChen</dc:creator>
				<category><![CDATA[Extjs]]></category>
		<category><![CDATA[event]]></category>

		<guid isPermaLink="false">http://www.javachen.com/?p=1098</guid>
		<description><![CDATA[还就没有写关于Ext的文章了，可还是有不少人搜索Ext搜索到我的文章里来了。最近，在看Python语言和Android开发，没怎么接触Ext了，哎！真希望一天时间当两天用！ Ext.util.Event对象构建器需要传入两个对象：obj(处理事件的缺省对象），name(事件名称）。在构建Event对象时，Event对象会同时构建一个事件的处理函数的数组:listeners，通过这个数组实现了一个事件的多个事件句柄函数的处理。 Ext.util.Event = function(obj, name){ this.name = name; this.obj = obj; this.listeners = []; }; 通过Event的fire方法就可以依次触发该数组中的处理函数。实际上，fire方法在遍历listeners数组中的处理函数过程中，只要处理函数的返回值为false，则不再继续运行后续的处理函数。所以，可以通过检查fire方法的返回值得知事件处理函数是否完全被运行。 fire : function(){ var ls = this.listeners, scope, len = ls.length; if(len &#62; 0){ this.firing = true;//通过firing可以保证多个事件处理函数不会并发运行 var args = Array.prototype.slice.call(arguments, 0);//slice方法可以有效的进行数组的克隆 for(var i = 0; i &#60; len; i++){ var l = ls; //事件的处理，只要有一个处理函数返回false,整个事件处理就被停止 if(l.fireFn.apply(l.scope&#124;&#124;this.obj&#124;&#124;window, arguments) === [...]<table class="wumii-related-items" cellspacing="0" cellpadding="3" border="0"  style="clear: both;">
    
    <tr>
        <td colspan="5"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="用ExtJs制作登陆界面" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fextjs-login-window%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F03%2Fext-util-event%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/05/31/10382548.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">用ExtJs制作登陆界面</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="extjs换肤" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F12%2Fextjs_change_skins%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F03%2Fext-util-event%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/05/31/10383375.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">extjs换肤</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Ext读取xml文件生成动态表格和表单(续)" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2012%2F01%2Fext_readxml_in_bjsasc_wuzi_continue%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F03%2Fext-util-event%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ext读取xml文件生成动态表格和表单(续)</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="DOM 事件模型" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F03%2Fdom-event-model%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F03%2Fext-util-event%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">DOM 事件模型</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Ex.get与Ext.fly" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F11%2Fex-get-ext-fly%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F03%2Fext-util-event%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ex.get与Ext.fly</font>
                    </a>
                </td>
        </tr>
    
    <tr>
        <td colspan="5" align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>]]></description>
			<content:encoded><![CDATA[<p>还就没有写关于Ext的文章了，可还是有不少人搜索Ext搜索到我的文章里来了。最近，在看Python语言和Android开发，没怎么接触Ext了，哎！真希望一天时间当两天用！</p>
<p>Ext.util.Event对象构建器需要传入两个对象：obj(处理事件的缺省对象），name(事件名称）。在构建Event对象时，Event对象会同时构建一个事件的处理函数的数组:listeners，通过这个数组实现了一个事件的多个事件句柄函数的处理。<span id="more-1098"></span><br />
Ext.util.Event = function(obj, name){<br />
this.name = name;<br />
this.obj = obj;<br />
this.listeners = [];<br />
};</p>
<p>通过Event的fire方法就可以依次触发该数组中的处理函数。实际上，fire方法在遍历listeners数组中的处理函数过程中，只要处理函数的返回值为false，则不再继续运行后续的处理函数。所以，可以通过检查fire方法的返回值得知事件处理函数是否完全被运行。<br />
fire : function(){<br />
var ls = this.listeners, scope, len = ls.length;<br />
if(len &gt; 0){<br />
this.firing = true;//通过firing可以保证多个事件处理函数不会并发运行<br />
var args = Array.prototype.slice.call(arguments, 0);//slice方法可以有效的进行数组的克隆<br />
for(var i = 0; i &lt; len; i++){<br />
var l = ls;<br />
//事件的处理，只要有一个处理函数返回false,整个事件处理就被停止<br />
if(l.fireFn.apply(l.scope||this.obj||window, arguments) === false){<br />
this.firing = false;<br />
return false;<br />
}<br />
}<br />
this.firing = false;<br />
}<br />
return true;<br />
}</p>
<p>Event可以通过addListener、removeListener、clearListeners（移除所有的事件处理函数）方法对 listeners进行管理。但是，Listener中保存的事件处理函数实际上并不是addListener传递的函数，实际上，addListener传入的方法通过createListener对事件的处理函数进行了封装，通过封装，实现了对通一个重复事件的的三种不同处理方式：delay（延迟运行）、single(移除Listener中的处理函数，仅运行当前的处理函数）、buffer(避免重复运行处理函数)。</p>
<p>addListener : function(fn, scope, options){<br />
var me = this,<br />
l;<br />
scope = scope || me.obj;<br />
if(!me.isListening(fn, scope)){<br />
l = me.createListener(fn, scope, options);<br />
if(me.firing){ // if we are currently firing this event, don&#8217;t disturb the listener loop<br />
me.listeners = me.listeners.slice(0);<br />
}<br />
me.listeners.push(l);<br />
}<br />
}</p>
<p>//<br />
createListener : function(fn, scope, o){<br />
o = o || {};<br />
scope = scope || this.obj;<br />
var l = {fn: fn, scope: scope, options: o};<br />
var h = fn;<br />
if(o.delay){<br />
h = createDelayed(h, o, scope);<br />
}<br />
if(o.single){<br />
h = createSingle(h, this, fn, scope);<br />
}<br />
if(o.buffer){<br />
h = createBuffered(h, o, scope);<br />
}<br />
l.fireFn = h;<br />
return l;<br />
}</p>
<p>var createBuffered = function(h, o, scope){<br />
var task = new Ext.util.DelayedTask();<br />
return function(){<br />
task.delay(o.buffer, h, scope, Array.prototype.slice.call(arguments, 0));<br />
};<br />
};<br />
var createSingle = function(h, e, fn, scope){<br />
return function(){<br />
e.removeListener(fn, scope);<br />
return h.apply(scope, arguments);<br />
};<br />
};<br />
var createDelayed = function(h, o, scope){<br />
return function(){<br />
var args = Array.prototype.slice.call(arguments, 0);<br />
setTimeout(function(){<br />
h.apply(scope, args);<br />
}, o.delay || 10);<br />
};<br />
};</p>
<table class="wumii-related-items" cellspacing="0" cellpadding="3" border="0"  style="clear: both;">
    
    <tr>
        <td colspan="5"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="用ExtJs制作登陆界面" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fextjs-login-window%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F03%2Fext-util-event%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/05/31/10382548.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">用ExtJs制作登陆界面</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="extjs换肤" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F12%2Fextjs_change_skins%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F03%2Fext-util-event%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/05/31/10383375.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">extjs换肤</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Ext读取xml文件生成动态表格和表单(续)" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2012%2F01%2Fext_readxml_in_bjsasc_wuzi_continue%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F03%2Fext-util-event%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ext读取xml文件生成动态表格和表单(续)</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="DOM 事件模型" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F03%2Fdom-event-model%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F03%2Fext-util-event%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">DOM 事件模型</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Ex.get与Ext.fly" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F11%2Fex-get-ext-fly%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F03%2Fext-util-event%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ex.get与Ext.fly</font>
                    </a>
                </td>
        </tr>
    
    <tr>
        <td colspan="5" align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>Here is no comments yet by the time  your rss reader get this, Do you want to be the first commentor? Hurry up ]]></content:encoded>
			<wfw:commentRss>http://www.javachen.com/2010/03/ext-util-event/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用ExtJs制作登陆界面</title>
		<link>http://www.javachen.com/2010/02/extjs-login-window/</link>
		<comments>http://www.javachen.com/2010/02/extjs-login-window/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 06:24:14 +0000</pubDate>
		<dc:creator>JavaChen</dc:creator>
				<category><![CDATA[Extjs]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[panel]]></category>

		<guid isPermaLink="false">http://www.javachen.com/?p=1026</guid>
		<description><![CDATA[第一步引入ExtJs文件及相关js文件： &#60;script src=”extjs/adapter/ext/ext-base.js” type=”text/javascript”&#62;&#60;/script&#62; &#60;script src=”extjs/ext-all-debug.js” type=”text/javascript”&#62;&#60;/script&#62; &#60;script src=”extjs/ext-lang-zh_CN.js” type=”text/javascript”&#62;&#60;/script&#62; &#60;script src=”javascript/CheckCode.js” type=”text/javascript”&#62;&#60;/script&#62; &#60;script src=”javascript/FullScreen.js” type=”text/javascript”&#62;&#60;/script&#62; &#60;script src=”javascript/Login.js” type=”text/javascript”&#62;&#60;/script&#62; 第二步，登陆界面： &#60;body&#62; &#60;div id=&#8217;loginpanel&#8217; &#62;&#60;/div&#62; &#60;/body&#62; 第三步，登陆的js文件Login.js ?View Code JAVASCRIPT1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 [...]<table class="wumii-related-items" cellspacing="0" cellpadding="3" border="0"  style="clear: both;">
    
    <tr>
        <td colspan="5"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="Ext form实例" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F12%2Fext-form-examples%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fextjs-login-window%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ext form实例</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="extjs换肤" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F12%2Fextjs_change_skins%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fextjs-login-window%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/05/31/10383375.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">extjs换肤</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Ext实现grid和form动态绑定" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F09%2Fext_grid_bindingto_form%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fextjs-login-window%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ext实现grid和form动态绑定</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Ext读取xml文件生成动态表格和表单(续)" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2012%2F01%2Fext_readxml_in_bjsasc_wuzi_continue%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fextjs-login-window%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ext读取xml文件生成动态表格和表单(续)</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Ext实现多行多列布局" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F10%2Fext_rows_columns%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fextjs-login-window%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ext实现多行多列布局</font>
                    </a>
                </td>
        </tr>
    
    <tr>
        <td colspan="5" align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>]]></description>
			<content:encoded><![CDATA[<p>第一步引入ExtJs文件及相关js文件：</p>
<blockquote><p>&lt;script src=”extjs/adapter/ext/ext-base.js” type=”text/javascript”&gt;&lt;/script&gt; &lt;script src=”extjs/ext-all-debug.js” type=”text/javascript”&gt;&lt;/script&gt;<br />
&lt;script src=”extjs/ext-lang-zh_CN.js” type=”text/javascript”&gt;&lt;/script&gt; &lt;script src=”javascript/CheckCode.js” type=”text/javascript”&gt;&lt;/script&gt;<br />
&lt;script src=”javascript/FullScreen.js” type=”text/javascript”&gt;&lt;/script&gt; &lt;script src=”javascript/Login.js” type=”text/javascript”&gt;&lt;/script&gt;</p></blockquote>
<p><span id="more-1026"></span>第二步，登陆界面：</p>
<blockquote><p>&lt;body&gt;<br />
&lt;div id=&#8217;loginpanel&#8217; &gt;&lt;/div&gt;<br />
&lt;/body&gt;</p></blockquote>
<p>第三步，登陆的js文件Login.js</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1026code3'); return false;">View Code</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p10263"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
</pre></td><td class="code" id="p1026code3"><pre class="javascript" style="font-family:monospace;">Ext.BLANK_IMAGE_URL = 'pic/blank.gif';
&nbsp;
var login = function() {
	Ext.QuickTips.init();
	Ext.lib.Ajax.defaultPostHeader += &quot;;charset=utf-8&quot;;
	Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
&nbsp;
	// 实现具体的功能
	var form = new Ext.FormPanel( {
		defaultType : 'textfield',
		labelWidth : 60,
		style : 'background:#ffffff;padding:25px 35px 30px 16px;',
		region : &quot;center&quot;,
		defaults : {
			border : false,
			allowBlank : false,
			msgTarget : 'side',
			blankText : '该字段不允许为空'
		},
		waitMsgTarget : true,
		items : [
				{
					fieldLabel : '登录帐号',
					name : 'user',
					regex:/^[0-9a-zA-Z]{2,6}$/,
					regexText:'只能为两到六位的大小写字母。'
				},
				{
					fieldLabel : '登录密码',
					name : 'pass',
					inputType : 'password',
					regex:/^.{4,}$/,
					regexText:'长度不能少于4位'
				},
				{
					xtype : 'panel',
					layout : 'column',
					items : [
							{
								width : 130,
								layout : 'form',
								border : false,
								items : [{
									fieldLabel : '效 验 码',
									name : 'checkcode',
									xtype : 'textfield',
									allowBlank : false,
									msgTarget : 'side',
									blankText : '该字段不允许为空',
									anchor : '98%'
								}]
							},
							{   xtype : 'checkCode',
								src : 'IMG.action',
								width : 60,
								height : 20,
								handler : true
							}
					]
				}],
		buttons : [ {
			text : '登陆',
			handler : function() {
				form.getForm().submit( {
					success : function(f, a) {
						OpenFullWin(a.result.url);
					},
					url : 'login.jsp',
					waitMsg : '正在提交，请稍等...'
				});
			}
		}, {
			text : '取消',
			handler : function() {
				form.getForm().reset();
			}
		}]
&nbsp;
	});
&nbsp;
	var panel = new Ext.Panel( {
		renderTo : 'loginpanel',
		layout : &quot;border&quot;,
		width : 525,
		height : 290,
		defaults : {
			border : false
		},
		items : [ {
			region : &quot;north&quot;,
			height : 56,
			html : 'pic'
		}, {
			region : &quot;south&quot;,
			height : 56,
			html : 'pic'
		}, {
			region : &quot;west&quot;,
			width : 253,
			html : 'pic'
		}, form]
	});
&nbsp;
	Ext.get('loginpanel').setStyle('position', 'absolute')
			.center(Ext.getBody());
&nbsp;
};
&nbsp;
Ext.onReady(login);</pre></td></tr></table></div>

<p>整体思路是：将登陆界面放入一个border布局的panel里面，该panel的各个部分border设为false。由于没有对</p>
<p>设置CSS，所以显示的登陆界面是在页面的左上角，故需要对panel设置css样式：<br />
Ext.get(&#8216;loginpanel&#8217;).setStyle(&#8216;position&#8217;, &#8216;absolute&#8217;).center(Ext.getBody());<br />
在CheckCode.js扩展了一个验证组件，代码如下：</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1026code4'); return false;">View Code</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p10264"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
</pre></td><td class="code" id="p1026code4"><pre class="javascript" style="font-family:monospace;">Ext.ux.form.CheckCode = Ext.extend(Ext.BoxComponent, {
	initComponent : function() {
		Ext.ux.form.CheckCode.superclass.initComponent.call(this);
		this.addEvents('click');//初始化时间中注册click事件
&nbsp;
	},
	onRender : function(ct, position) {
               // 如果当前组件的dom不存在，则创建一个img对象
		if (!this.el) {
			this.el = document.createElement('img');
			this.el.src = this.src;
			if (this.forId) {
				this.el.setAttribute('htmlFor', this.forId);
			}
		}
		//类的onRender调用本类的onRender方法，也就是覆盖父类的onRender方法
		Ext.form.Label.superclass.onRender.call(this, ct, position);
	},
	afterRender : function() {
		Ext.ux.form.CheckCode.superclass.afterRender.call(this);
		this.el.on(&quot;click&quot;, this.onClick, this);
	},
	onClick : function() {
		if (this.handler === true)
			this.el.dom.src = this.src + '?date=' + new Date();
		else if (Ext.type(this.handler) == 'function')
			this.handler(this);
		this.fireEvent(&quot;click&quot;, this);
	}
&nbsp;
});
Ext.reg('checkCode', Ext.ux.form.CheckCode);</pre></td></tr></table></div>

<p style="text-align: center;">最后，显示的效果图如下：<br />
<a href="http://www.javachen.com/wp-content/uploads/2010/02/Extjs-login.jpg" class="highslide-image" onclick="return hs.expand(this);"></a><a href="http://www.javachen.com/wp-content/uploads/2010/02/Extjs-login.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="aligncenter size-medium wp-image-1027" title="Extjs-login" src="http://www.javachen.com/wp-content/uploads/2010/02/Extjs-login-300x163.jpg" alt="" width="300" height="163" /></a></p>
<p>本文章中的代码下载：<a href="http://d.namipan.com/d/ecb1aa65111e17620d18f0565b6f2d190f13bf3d55a62b00">http://d.namipan.com/d/ecb1aa65111e17620d18f0565b6f2d190f13bf3d55a62b00</a></p>
<table class="wumii-related-items" cellspacing="0" cellpadding="3" border="0"  style="clear: both;">
    
    <tr>
        <td colspan="5"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="Ext form实例" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F12%2Fext-form-examples%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fextjs-login-window%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ext form实例</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="extjs换肤" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F12%2Fextjs_change_skins%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fextjs-login-window%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/05/31/10383375.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">extjs换肤</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Ext实现grid和form动态绑定" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F09%2Fext_grid_bindingto_form%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fextjs-login-window%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ext实现grid和form动态绑定</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Ext读取xml文件生成动态表格和表单(续)" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2012%2F01%2Fext_readxml_in_bjsasc_wuzi_continue%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fextjs-login-window%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ext读取xml文件生成动态表格和表单(续)</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Ext实现多行多列布局" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F10%2Fext_rows_columns%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fextjs-login-window%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ext实现多行多列布局</font>
                    </a>
                </td>
        </tr>
    
    <tr>
        <td colspan="5" align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>By the time  your rss reader get this post here is <strong> 2 </strong>comments ,Welcome you come to leave your opinion !]]></content:encoded>
			<wfw:commentRss>http://www.javachen.com/2010/02/extjs-login-window/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ext.apply 与 Ext.applyIf</title>
		<link>http://www.javachen.com/2010/02/ext-apply-and-ext-applyif/</link>
		<comments>http://www.javachen.com/2010/02/ext-apply-and-ext-applyif/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 02:21:35 +0000</pubDate>
		<dc:creator>JavaChen</dc:creator>
				<category><![CDATA[Extjs]]></category>

		<guid isPermaLink="false">http://www.javachen.com/?p=962</guid>
		<description><![CDATA[Ext.apply是整个ExtJs框架当中很重要的一个方法，Ext是一个对象，也可以说是一个Ext命名空间，在Extjs 3.0 ext-base.js中，Ext是如下定义的： Ext = { version : &#8217;3.0&#8242; }; 该对象初始化时有个version 属性，标注ExtJs框架的版本号。 apply及applyIf方法都是用于实现把一个对象中的属性应用于另外一个对象中，相当于属性拷贝。不同的是apply将会覆盖目标对象中的属性，而applyIf只拷贝目标对象中没有而源对象中有的属性。 apply方法的签名为“apply( Object obj, Object config, Object defaults ) : Object”，该方法包含三个参数，第一个参数是要拷贝的目标对象，第二个参数是拷贝的源对象，第三个参数是可选的，表示给目标对象提供一个默认值。可以简单的理解成把第三个参数（如果有的话）及第二个参数中的属性拷贝给第一个参数对象。 applyIf( Object obj, Object config ) : Object 从config拷贝所有属性至obj(如果obj未定义相应属性) 以下是其源代码： ?View Code JAVASCRIPT1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 [...]<table class="wumii-related-items" cellspacing="0" cellpadding="3" border="0"  style="clear: both;">
    
    <tr>
        <td colspan="5"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="Ext读取xml文件生成动态表格和表单(续)" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2012%2F01%2Fext_readxml_in_bjsasc_wuzi_continue%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fext-apply-and-ext-applyif%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ext读取xml文件生成动态表格和表单(续)</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="extjs换肤" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F12%2Fextjs_change_skins%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fext-apply-and-ext-applyif%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/05/31/10383375.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">extjs换肤</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="用ExtJs制作登陆界面" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fextjs-login-window%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fext-apply-and-ext-applyif%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/05/31/10382548.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">用ExtJs制作登陆界面</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Ex.get与Ext.fly" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F11%2Fex-get-ext-fly%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fext-apply-and-ext-applyif%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ex.get与Ext.fly</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Ext实现多行多列布局" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F10%2Fext_rows_columns%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fext-apply-and-ext-applyif%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ext实现多行多列布局</font>
                    </a>
                </td>
        </tr>
        <br/>
    <tr>
        <td colspan="5"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">来自无觅网络的相关文章：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="庆祝：申请Google Adsense广告成功心得" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fblog.netsh.org%2Fposts%2Fcelebrate-apply-google-adsense-success-tips_116.netsh.html&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fext-apply-and-ext-applyif%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/07/22/18519305.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">庆祝：申请Google Adsense广告成功心得 (@netsh)</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="丑男教你申请qq网址安全认证!" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwx.si%2Fqq-ugly-website-to-teach-you-to-apply-security-certification.gov&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fext-apply-and-ext-applyif%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://imgs.sssssi.com/2011/06/day09-wl.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">丑男教你申请qq网址安全认证! (@wx)</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="思考博客定位" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.pihai.me%2Farchives%2F242.html&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fext-apply-and-ext-applyif%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/01/17/2123484.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">思考博客定位 (@pihai)</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="仿google搜索提示 SuggestFramework的使用)" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Flinuxeye.com%2Farticle%2F56%2F20110803%2F24635.html&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fext-apply-and-ext-applyif%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/09/22/32820234.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">仿google搜索提示 SuggestFramework的使用) (@linuxeye)</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="禁止注释" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.hui-wang.info%2F2011%2F09%2F25%2Fcomment-is-prohibited%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fext-apply-and-ext-applyif%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/09/26/8058455.bmp" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">禁止注释 (@hui-wang)</font>
                    </a>
                </td>
        </tr>
    
    <tr>
        <td colspan="5" align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>]]></description>
			<content:encoded><![CDATA[<p>Ext.apply是整个ExtJs框架当中很重要的一个方法，Ext是一个对象，也可以说是一个Ext命名空间，在Extjs 3.0 ext-base.js中，Ext是如下定义的：<br />
Ext = {<br />
	version : &#8217;3.0&#8242;<br />
};</p>
<p>该对象初始化时有个version 属性，标注ExtJs框架的版本号。<br />
<span id="more-962"></span><br />
 apply及applyIf方法都是用于实现把一个对象中的属性应用于另外一个对象中，相当于属性拷贝。不同的是apply将会覆盖目标对象中的属性，而applyIf只拷贝目标对象中没有而源对象中有的属性。<br />
apply方法的签名为“apply( Object obj, Object config, Object defaults ) : Object”，该方法包含三个参数，第一个参数是要拷贝的目标对象，第二个参数是拷贝的源对象，第三个参数是可选的，表示给目标对象提供一个默认值。可以简单的理解成把第三个参数（如果有的话）及第二个参数中的属性拷贝给第一个参数对象。<br />
applyIf( Object obj, Object config ) : Object<br />
从config拷贝所有属性至obj(如果obj未定义相应属性)</p>
<p>以下是其源代码：</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p962code6'); return false;">View Code</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p9626"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
</pre></td><td class="code" id="p962code6"><pre class="javascript" style="font-family:monospace;">//提供了defaults参数，说明在继承父对象之前，可以先为子对象初始化一些方法或属性
Ext.apply = function(o, c, defaults) {
	if (defaults)
		Ext.apply(o, defaults);
	if (o &amp;&amp; c &amp;&amp; typeof c == 'object') {
		//将父对象中的属性复制到子对象
		for (var p in c) {
			o[p] = c[p];
		}
	}
	return o;
};
&nbsp;
applyIf : function(o, c) {
	if (o) {
		for (var p in c) {
			//如果子对象中未定义属性，则将父对象的属性拷到子对象
			if (Ext.isEmpty(o[p])) {
				o[p] = c[p];
			}
		}
	}
	return o;
}</pre></td></tr></table></div>

<table class="wumii-related-items" cellspacing="0" cellpadding="3" border="0"  style="clear: both;">
    
    <tr>
        <td colspan="5"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="Ext读取xml文件生成动态表格和表单(续)" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2012%2F01%2Fext_readxml_in_bjsasc_wuzi_continue%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fext-apply-and-ext-applyif%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ext读取xml文件生成动态表格和表单(续)</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="extjs换肤" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F12%2Fextjs_change_skins%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fext-apply-and-ext-applyif%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/05/31/10383375.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">extjs换肤</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="用ExtJs制作登陆界面" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fextjs-login-window%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fext-apply-and-ext-applyif%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/05/31/10382548.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">用ExtJs制作登陆界面</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Ex.get与Ext.fly" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F11%2Fex-get-ext-fly%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fext-apply-and-ext-applyif%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ex.get与Ext.fly</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Ext实现多行多列布局" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F10%2Fext_rows_columns%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fext-apply-and-ext-applyif%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ext实现多行多列布局</font>
                    </a>
                </td>
        </tr>
        <br/>
    <tr>
        <td colspan="5"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">来自无觅网络的相关文章：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="庆祝：申请Google Adsense广告成功心得" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fblog.netsh.org%2Fposts%2Fcelebrate-apply-google-adsense-success-tips_116.netsh.html&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fext-apply-and-ext-applyif%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/07/22/18519305.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">庆祝：申请Google Adsense广告成功心得 (@netsh)</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="丑男教你申请qq网址安全认证!" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwx.si%2Fqq-ugly-website-to-teach-you-to-apply-security-certification.gov&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fext-apply-and-ext-applyif%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://imgs.sssssi.com/2011/06/day09-wl.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">丑男教你申请qq网址安全认证! (@wx)</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Html5新功能简介_CSS帝国" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.cssking.net%2Fcss3html5%2FHtml5-Features.html&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fext-apply-and-ext-applyif%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/04/15/5660370.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Html5新功能简介_CSS帝国 (@cssking)</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="新手急求帮助" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fbbs.dedeadmin.com%2Fthread-122-1-1.html&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fext-apply-and-ext-applyif%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/08/13/22590221.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">新手急求帮助 (@dedeadmin)</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="屁孩博客：离开页面提示是否保存页面修改内容的简单实现" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.pihai.me%2Farchives%2F903.html&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F02%2Fext-apply-and-ext-applyif%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/08/10/22037006.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">屁孩博客：离开页面提示是否保存页面修改内容的简单实现 (@pihai)</font>
                    </a>
                </td>
        </tr>
    
    <tr>
        <td colspan="5" align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>Here is no comments yet by the time  your rss reader get this, Do you want to be the first commentor? Hurry up ]]></content:encoded>
			<wfw:commentRss>http://www.javachen.com/2010/02/ext-apply-and-ext-applyif/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ext grid改变行背景颜色</title>
		<link>http://www.javachen.com/2010/01/ext-grid-row-change-background/</link>
		<comments>http://www.javachen.com/2010/01/ext-grid-row-change-background/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 04:01:59 +0000</pubDate>
		<dc:creator>JavaChen</dc:creator>
				<category><![CDATA[Extjs]]></category>
		<category><![CDATA[Grid]]></category>

		<guid isPermaLink="false">http://www.javachen.com/?p=791</guid>
		<description><![CDATA[Ext grid显示的行记录背景颜色都是一样的，这样不容易区分不同行的颜色、方便用户区分不同的记录。 改变单元格背景颜色的方法有几种，由简单的说起吧！ 第一种情况：加载数据时改变列的颜色。这种方式是通过Ext.grid.ColumnModel中某一列的renderer 函数来实现的。 首先定义一个样式如下： .x-grid-record-gray{ background: #c3daf9; } 定义改变颜色的列，加上renderer 渲染函数： {header:&#8217;摘要&#8217;,dataIndex:&#8217;zhaoyao&#8217;,align:&#8217;left&#8217;,width:150, renderer : function(value, m){ m.css=&#8217;x-grid-record-gray&#8217;; return value; } } 第二种情况：加载数据完成后改变行的颜色 首先要解决的一个问题是如果判断数据已经加载完毕，最简单的方法是给grid的store添加onload事件。 如果你想有条件地改变某行的背景颜色，则还需要遍历gird的store，这里有个简单的方法即store的 each方法。看下面这个例子： grid.getStore().addListener(&#8216;load&#8217;,handleGridLoadEvent); function handleGridLoadEvent(store,records) { var girdcount=0; store.each(function(r){ if(r.get(&#8216;STORESUSEDQTY&#8217;)==0){ grid.getView().getRow(girdcount).style.backgroundColor=&#8217;#c3daf9&#8242;; } girdcount=girdcount+1; }); } 第三种情况：使用Ext本身的颜色渲染效果 在grid中配置stripeRows为true，可以实现隔行变色，但不能达到根据不同记录集实现不同颜色的显示效果. 说完上面常见的几种方法之后，在来结合项目中的需求来实现背景颜色变色。现在项目中的Ext grid表格是三方公司用代码更具配置文件动态生成的，其代码都封装了一个动态命名的命名空间里，JavaScript代码写在了页面上。我只能在这个Ext grid代码生成之后获得一个grid引用。 下面是部分代码： Ext.namespace(&#8216;BO_PC_REQUIRE_S&#8217;); BO_PC_REQUIRE_S.Grid=function(){ currentRowInd=0; currentColInd=0; var AWS_GRID_CHECK; var AWS_FORM; var AWS_GRID_DS_PLANT; [...]<table class="wumii-related-items" cellspacing="0" cellpadding="3" border="0"  style="clear: both;">
    
    <tr>
        <td colspan="5"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="从Excel表格拖放数据到Ext Grid中" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F10%2Fexcel_dragto_ext-grid%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F01%2Fext-grid-row-change-background%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">从Excel表格拖放数据到Ext Grid中</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Ext 动态读取grid 列数" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F10%2Fext_read_dynamicgri%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F01%2Fext-grid-row-change-background%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ext 动态读取grid 列数</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Ext实现grid和form动态绑定" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F09%2Fext_grid_bindingto_form%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F01%2Fext-grid-row-change-background%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ext实现grid和form动态绑定</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="extjs换肤" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F12%2Fextjs_change_skins%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F01%2Fext-grid-row-change-background%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/05/31/10383375.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">extjs换肤</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Ext自定义LoadMask" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F10%2Fext_loadmask%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F01%2Fext-grid-row-change-background%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ext自定义LoadMask</font>
                    </a>
                </td>
        </tr>
    
    <tr>
        <td colspan="5" align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>]]></description>
			<content:encoded><![CDATA[<p>Ext grid显示的行记录背景颜色都是一样的，这样不容易区分不同行的颜色、方便用户区分不同的记录。<br />
改变单元格背景颜色的方法有几种，由简单的说起吧！<br />
<span style="color: rgb(0, 0, 255);" mce_style="color: #0000ff;"><b>第一种情况：加载数据时改变列的颜色。</b></span>这种方式是通过Ext.grid.ColumnModel中某一列的renderer 函数来实现的。<br />
首先定义一个样式如下：<br />
.x-grid-record-gray{<br />
background: #c3daf9;<br />
}</p>
<p><img src="http://www.javachen.com/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" mce_src="http://www.javachen.com/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" class="mceWPmore mceItemNoResize" title="更多..."/><br />
定义改变颜色的列，加上renderer 渲染函数：<br />
{header:&#8217;摘要&#8217;,dataIndex:&#8217;zhaoyao&#8217;,align:&#8217;left&#8217;,width:150,<br />
renderer : function(value, m){<br />
m.css=&#8217;x-grid-record-gray&#8217;;<br />
return value;<br />
}<br />
}</p>
<p><span style="color: rgb(0, 0, 255);" mce_style="color: #0000ff;"><b>第二种情况：加载数据完成后改变行的颜色</b></span><br />
首先要解决的一个问题是如果判断数据已经加载完毕，最简单的方法是给grid的store添加onload事件。<br />
如果你想有条件地改变某行的背景颜色，则还需要遍历gird的store，这里有个简单的方法即store的<br />
each方法。看下面这个例子：<br />
grid.getStore().addListener(&#8216;load&#8217;,handleGridLoadEvent);<br />
function handleGridLoadEvent(store,records) {<br />
var girdcount=0;<br />
store.each(function(r){<br />
if(r.get(&#8216;STORESUSEDQTY&#8217;)==0){<br />
grid.getView().getRow(girdcount).style.backgroundColor=&#8217;#c3daf9&#8242;;<br />
}<br />
girdcount=girdcount+1;<br />
});<br />
}</p>
<p><span style="color: rgb(0, 0, 255);" mce_style="color: #0000ff;"><b>第三种情况：使用Ext本身的颜色渲染效果</b></span><br />
在grid中配置stripeRows为true，可以实现隔行变色，但不能达到根据不同记录集实现不同颜色的显示效果.</p>
<p>说完上面常见的几种方法之后，在来结合项目中的需求来实现背景颜色变色。现在项目中的Ext grid表格是三方公司用代码更具配置文件动态生成的，其代码都封装了一个动态命名的命名空间里，JavaScript代码写在了页面上。我只能在这个Ext grid代码生成之后获得一个grid引用。<br />
下面是部分代码：<br />
Ext.namespace(&#8216;BO_PC_REQUIRE_S&#8217;);<br />
BO_PC_REQUIRE_S.Grid=function(){<br />
currentRowInd=0;<br />
currentColInd=0;<br />
var AWS_GRID_CHECK;<br />
var AWS_FORM;<br />
var AWS_GRID_DS_PLANT;<br />
var AWS_GRID_DS;<br />
var AWS_GRID_CM;<br />
var AWS_GRID_PANEL;</p>
<p>return {<br />
perPage: 50,<br />
currentRowInd:0,<br />
currentColInd:0,<br />
init : function(){</p>
<p>},<br />
getDataSource: function() {<br />
return AWS_GRID_DS;<br />
},<br />
getGridPanel: function() {<br />
return AWS_GRID_PANEL;<br />
},<br />
getCurrentRowInd: function() {<br />
return currentRowInd;<br />
},<br />
getCurrentColInd: function() {<br />
return currentColInd;<br />
},<br />
getTitle: function(){<br />
return &#8216;采购需求单子表（设计师）&#8217;;<br />
},<br />
saveData: function(){<br />
if(typeof(outerDoSaveGrid)==&#8217;function&#8217;){return outerDoSaveGrid();}<br />
},<br />
setCellValue: function(f,v,r){<br />
var rowInd=currentRowInd;<br />
if(r!=undefined)rowInd=r;<br />
AWS_GRID_DS.getAt(rowInd).set(f,v);<br />
},<br />
getCellValue: function(f,r){<br />
var rowInd=currentRowInd;<br />
if(r!=undefined)rowInd=r;<br />
return AWS_GRID_DS.getAt(rowInd).get(f);<br />
}<br />
}//End return<br />
});</p>
<p><span style="color: rgb(0, 0, 255);" mce_style="color: #0000ff;">参考上门说的三种方法，第一种不可实现，第二种可以实现</span>，但存在一些问题：数据加载完之后，达到不同行显示不同背景色的目的，但是当你单击表头进行排序的时候，表格内的所有行背景颜色又都回到了默认颜色，让人烦恼！这时候想想，我可不可以重写表头的事件，使执行这些事件的时候，也是行背景变色呢？实现代码如下：<br />
BO_PC_REQUIRE_S.Grid.getGridPanel().getStore().addListener(&#8216;load&#8217;,<br />
handleGridLoadEvent);<br />
function handleGridLoadEvent(store,records) {<br />
var girdcount=0;<br />
store.each(function(r){<br />
if(r.get(&#8216;STORESUSEDQTY&#8217;)==0){<br />
BO_PC_REQUIRE_S.Grid.getGridPanel().getView().getRow(girdcount).style.backgroundColor=&#8217;#c3daf9&#8242;;<br />
}<br />
girdcount=girdcount+1;<br />
});<br />
}</p>
<p>BO_PC_REQUIRE_S.Grid.getGridPanel().addListener(&#8216;headerclick&#8217;,<br />
function(){<br />
var girdcount=0;<br />
BO_PC_REQUIRE_S.Grid.getDataSource().each(function(r){<br />
if(r.get(&#8216;STORESUSEDQTY&#8217;)==0){<br />
BO_PC_REQUIRE_S.Grid.getGridPanel().getView().getRow(girdcount).style.backgroundColor=&#8217;#c3daf9&#8242;;<br />
}<br />
girdcount=girdcount+1;<br />
});<br />
});</p>
<p>BO_PC_REQUIRE_S.Grid.getGridPanel().addListener(&#8216;headermousedown&#8217;,	function(){});</p>
<p>这样做又有了问题，表格排序事件不起作用了，有没有更好的解决办法呢？<span style="color: rgb(0, 0, 255);" mce_style="color: #0000ff;">看看API，grid里有个视图，通过改变视图里的getRowClass方法，可以实现行跨多列显示、单行内显示多行内容等等效果。</span>可不可以参照这个思路，通过改变css实现行背景换色呢？<br />
代码如下：<br />
BO_PC_REQUIRE_S.Grid.getGridPanel().getView().getRowClass=function(record,rowIndex,rowParams,store){<br />
if(record.data.STORESUSEDQTY==0){<br />
return &#8216;x-grid-record-gray&#8217;;<br />
}else{<br />
return ”;<br />
}};</p>
<table class="wumii-related-items" cellspacing="0" cellpadding="3" border="0"  style="clear: both;">
    
    <tr>
        <td colspan="5"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="从Excel表格拖放数据到Ext Grid中" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F10%2Fexcel_dragto_ext-grid%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F01%2Fext-grid-row-change-background%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">从Excel表格拖放数据到Ext Grid中</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Ext 动态读取grid 列数" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F10%2Fext_read_dynamicgri%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F01%2Fext-grid-row-change-background%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ext 动态读取grid 列数</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Ext实现grid和form动态绑定" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F09%2Fext_grid_bindingto_form%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F01%2Fext-grid-row-change-background%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ext实现grid和form动态绑定</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="extjs换肤" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F12%2Fextjs_change_skins%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F01%2Fext-grid-row-change-background%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/05/31/10383375.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">extjs换肤</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Ext自定义LoadMask" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.javachen.com%2F2009%2F10%2Fext_loadmask%2F&from=http%3A%2F%2Fwww.javachen.com%2F2010%2F01%2Fext-grid-row-change-background%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Ext自定义LoadMask</font>
                    </a>
                </td>
        </tr>
    
    <tr>
        <td colspan="5" align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>By the time  your rss reader get this post here is <strong> 1 </strong>comments ,Welcome you come to leave your opinion !]]></content:encoded>
			<wfw:commentRss>http://www.javachen.com/2010/01/ext-grid-row-change-background/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  www.javachen.com/category/webued/extjs/feed/ ) in 13.38351 seconds, on Feb 7th, 2012 at 9:11 pm UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 7th, 2012 at 10:11 pm UTC -->
