<?xml version="1.0" encoding="UTF-8"?>
  <feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html"><![CDATA[菩提树下的杨过]]></title>
  <subtitle type="html"><![CDATA[asp.net,c#,asp,sqlserver,mssql,oracle,javascri&#112;t,ajax,投资,理财,c,学习,技巧,atlas,.net]]></subtitle>
  <id>http://blog.sqlsky.com/</id> 
  <link rel="alternate" type="text/html" href="http://blog.sqlsky.com/" /> 
  <link rel="self" type="application/atom+xml" href="http://blog.sqlsky.com/atom.asp" /> 
  <generator uri="http://www.pjhome.net/" version="2.4.1022">PJBlog2</generator> 
  <updated>2008-10-09T21:33:24+08:00</updated> 

  <entry>
	  <title type="html"><![CDATA[Jquery 结合Json控制Sel&#101;ct下拉框]]></title>
	  <author>
		 <name>菩提树下的杨过</name>
		 <uri>http://blog.sqlsky.com/</uri>
		 <email>yjmyzz@126.com</email>
	  </author>
	  <category term="" scheme="http://blog.sqlsky.com/default.asp?cateID=16" label="javascript" /> 
	  <updated>2008-10-09T21:33:24+08:00</updated>
	  <published>2008-10-09T21:33:24+08:00</published>
		  <summary type="html"><![CDATA[<p>&lt;html&gt;<br />&lt;head&gt;<br />&lt;title&gt;jquery 操作 Select&lt;/title&gt;<br />&lt;script type=&quot;text/javascript&quot; src=&quot;jquery-1.2.6.min.js&quot;&gt;&lt;/script&gt;</p>
<p>&lt;script type=&quot;text/javascript&quot;&gt;<br />$(document).ready(function(){</p>
<p>&nbsp;var oSheng = $(&quot;#sheng&quot;);</p>
<p>&nbsp;var dSheng = {head:[<br />&nbsp;&nbsp;{text:&quot;text - a&quot;,id:&quot;a&quot;},<br />&nbsp;&nbsp;{text:&quot;text - b&quot;,id:&quot;b&quot;}<br />&nbsp;]};<br />&nbsp;oSheng.empty();//清空select下拉框</p>
<p>&nbsp;for(var i=0;i&lt;dSheng.head.length;i++){<br />&nbsp;&nbsp;$(&quot;&lt;option value='&quot; + dSheng.head[i].id + &quot;'&gt;&quot; + dSheng.head[i].text + &quot;&lt;/option&gt;&quot;).appendTo(oSheng)//动态添加Option子项<br />&nbsp;}</p>
<p>&nbsp;var dShi = {head:[<br />&nbsp;&nbsp;{id:&quot;sub - a - 1&quot;,value:&quot;a1&quot;,parentid:&quot;a&quot;},<br />&nbsp;&nbsp;{id:&quot;sub - a - 2&quot;,value:&quot;a2&quot;,parentid:&quot;a&quot;},<br />&nbsp;&nbsp;{id:&quot;sub - b - 1&quot;,value:&quot;b1&quot;,parentid:&quot;b&quot;},<br />&nbsp;&nbsp;{id:&quot;sub - b - 2&quot;,value:&quot;b2&quot;,parentid:&quot;b&quot;},<br />&nbsp;&nbsp;{id:&quot;sub - b - 3&quot;,value:&quot;b3&quot;,parentid:&quot;b&quot;}<br />&nbsp;]}<br />&nbsp;var oShi = $(&quot;#shi&quot;)</p>
<p>&nbsp;oSheng.change(function(){//添加onchange事件&nbsp;&nbsp;<br />&nbsp;&nbsp;oShi.empty();//清空下级下拉框&nbsp;&nbsp;<br />&nbsp;&nbsp;for(i=0;i&lt;dShi.head.length;i++){&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;if (dShi.head[i].parentid==oSheng.val())<br />&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;$(&quot;&lt;option value='&quot; + dShi.head[i].value + &quot;'&gt;&quot; + dShi.head[i].id + &quot;&lt;/option&gt;&quot;).appendTo(oShi)<br />&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;}&nbsp;&nbsp;<br />&nbsp;})<br />})<br />&lt;/script&gt;</p>
<p>&lt;/head&gt;<br />&lt;body&gt;<br />&lt;select id=&quot;sheng&quot;&gt;<br />&nbsp;&lt;option value=&quot;a1&quot;&gt;--------&lt;/option&gt;<br />&lt;/select&gt;</p>
<p>&lt;select id=&quot;shi&quot;&gt;<br />&nbsp;&lt;option value=&quot;b1&quot;&gt;????????&lt;/option&gt;<br />&lt;/select&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://blog.sqlsky.com/default.asp?id=818" /> 
	  <id>http://blog.sqlsky.com/default.asp?id=818</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[用JS + WCF打造轻量级WebPart ]]></title>
	  <author>
		 <name>菩提树下的杨过</name>
		 <uri>http://blog.sqlsky.com/</uri>
		 <email>yjmyzz@126.com</email>
	  </author>
	  <category term="" scheme="http://blog.sqlsky.com/default.asp?cateID=7" label=".NET开发" /> 
	  <updated>2008-09-20T14:39:50+08:00</updated>
	  <published>2008-09-20T14:39:50+08:00</published>
		  <summary type="html"><![CDATA[<p>自打.net2.0起，ms就推出了webPart功能，用它可以轻松开发出具有web2.0风格的个性化网站功能，比如拖放，定制标题栏等，但是WebPart的设计是属于重量级的，每次拖动都会引起页面回发，导致数据库读写以及大量的数据传输(即使在最外层套一个MajicAjax之类的，也是如此)，另外WebPart在非IE标准浏览器上有些功能也不能正常使用。而网上流传的众多JS实现的特效功能中，已经有很多不错的JS源码，其实我们只要结合.net的功能修改一下，就能达到类似WebPart的功能，而且这种实现完全是轻量级的。</p>
<p><br />先来看下<a href="http://www.jscode.cn/jave_page/300804727.htm">http://www.jscode.cn/jave_page/300804727.htm</a>这上面的拖放特效(muxrwc兄的作品,博客地址<a href="http://blog.csdn.net/muxrwc">http://blog.csdn.net/muxrwc</a>)，这上面已经实现得很不错的，布局的保存是用cookie实现</p>
<p>的，我们把它修改为利用数据库保存(主要思路就是保存布局时把cookie字符串存到数据库中，加载时从数据库里取出数据初始化)，<span style="BACKGROUND-COLOR: #ffff99">修改后的演示效果地址为</span><a href="http://ext.cneds.net/"><span style="BACKGROUND-COLOR: #ffff99">http://ext.cneds.net</span></a><span style="BACKGROUND-COLOR: #ffff99">（随时可能会被停掉，呵呵）</span></p>
<p><span style="COLOR: #ff0000"><strong>1.数据库结构:</strong></span><br />(1)布局表T_LayOut</p>
<p>Create TABLE [dbo].[T_LayOut](<br />&nbsp;[F_ID] [int] IDENTITY(1,1) NOT NULL,<br />&nbsp;[F_LayOut] [nvarchar](max) COLLATE Chinese_PRC_CI_AS NOT NULL,<br />&nbsp;CONSTRAINT [PK_T_LayOut] PRIMARY KEY CLUSTERED <br />(<br />&nbsp;[F_ID] ASC<br />)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]<br />) ON [PRIMARY]</p>
<p><br />(2)新闻表T_News</p>
<p>&nbsp;Create TABLE [dbo].[T_News](<br />&nbsp;[ID] [int] IDENTITY(1,1) NOT NULL,<br />&nbsp;[Title] [nvarchar](200) COLLATE Chinese_PRC_CI_AS NULL,<br />&nbsp;CONSTRAINT [PK_T_News] PRIMARY KEY CLUSTERED <br />(<br />&nbsp;[ID] ASC<br />)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]<br />) ON [PRIMARY]</p>
<p>&nbsp;</p>
<p><span style="COLOR: #ff0000"><strong>2.WCF部分</strong></span><br />(1)新建一个启用了Ajax的WCF:MyData.svc<br />svc文件中，修改为<br />&lt;%@ ServiceHost Language=&quot;C#&quot; Debug=&quot;true&quot; Service=&quot;GetData&quot; CodeBehind=&quot;~/App_Code/GetData.cs&quot; <span style="BACKGROUND-COLOR: #ffff99"><span style="COLOR: #ff0000">Factory=&quot;System.ServiceModel.Activation.WebServiceHostFactory&quot; </span></span>%&gt;<br /><br />web.config中手动修改节点，参考以下:<br />&lt;behaviors&gt;<br />&nbsp;&nbsp;&nbsp;&lt;endpointBehaviors&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;behavior name=&quot;GetDataAspNetAjaxBehavior&quot;&gt;<br /><span style="BACKGROUND-COLOR: #ffff99"><span style="COLOR: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&lt;enableWebScript/&gt;--&gt;</span>&nbsp;&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;/behavior&gt;<br />&nbsp;&nbsp;&nbsp;&lt;/endpointBehaviors&gt;<br />&nbsp;&nbsp;&lt;/behaviors&gt;<br /><br />(2)新建几个方法:</p>
<div class="cnblogs_code">
<pre><img id="Code_Closed_Image_141918" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_141918').style.display='none'; document.getElementById('Code_Open_Image_141918').style.display='inline'; document.getElementById('Code_Open_Text_141918').style.display='inline';" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" /><img id="Code_Open_Image_141918" style="DISPLAY: inline" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_141918').style.display='none'; getElementById('Code_Closed_Image_141918').style.display='inline'; getElementById('Code_Closed_Text_141918').style.display='inline';" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /><span class="cnblogs_code_Collapse" id="Code_Closed_Text_141918" style="DISPLAY: none">Code</span><span id="Code_Open_Text_141918" style="DISPLAY: inline"><br /><!--<br  /><br  />Code highlighting produced by Actipro CodeHighlighter (freeware)<br  />http://www.CodeHighlighter.com/<br  /><br  />--><span style="COLOR: #008000">//</span><span style="COLOR: #008000">取得页面布局数据</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000">[OperationContract]<br />    [WebInvoke(ResponseFormat </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> WebMessageFormat.Json, UriTemplate </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">GetLayOutById?id={id}</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">, Method </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">GET</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">)]<br />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> Stream GetLayOutById(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> id)<br />    {<br />        </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">System.Threading.Thread.Sleep(2000);</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000"> _Result </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;&quot;</span><span style="COLOR: #000000">;<br />        </span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000"> (DBDataContext db </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> DBDataContext())<br />        {<br />            </span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000"><br />            {<br />                _Result </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> db.T_LayOuts.Where(c </span><span style="COLOR: #000000">=&gt;</span><span style="COLOR: #000000"> c.F_ID </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> id).Select(c </span><span style="COLOR: #000000">=&gt;</span><span style="COLOR: #000000"> c.F_LayOut).First();<br />            }<br />            </span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000"> { }<br />            </span><span style="COLOR: #0000ff">finally</span><span style="COLOR: #000000"> { db.Connection.Close(); }<br />        }<br /><br />        MemoryStream ms </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> MemoryStream(); <br />        StreamWriter sw </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> StreamWriter(ms);<br />        sw.AutoFlush </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">; <br />        sw.Write(_Result); <br />        ms.Position </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">0</span><span style="COLOR: #000000">; <br />        WebOperationContext.Current.OutgoingResponse.ContentType </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">text/plain</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">; <br />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> ms;<br />    }<br /><br /></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">保存布局</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000">    [OperationContract]<br />    [WebInvoke(ResponseFormat </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> WebMessageFormat.Json, UriTemplate </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">SaveLayOutById?id={id}&amp;layout={layout}</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">, Method </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">GET</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">)]<br />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000"> SaveLayOutById(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> id,</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000"> layout)<br />    {<br />        </span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000"> _Result </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">false</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">;<br />        </span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000"> (DBDataContext db </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> DBDataContext())<br />        {<br />            </span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000"><br />            {<br />                var _layout </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> db.T_LayOuts.Where(c </span><span style="COLOR: #000000">=&gt;</span><span style="COLOR: #000000"> c.F_ID </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> id).Single();<br />                _layout.F_LayOut </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> layout;<br />                db.SubmitChanges();<br />                _Result </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">true</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">;<br />            }<br />            </span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000"> { }<br />            </span><span style="COLOR: #0000ff">finally</span><span style="COLOR: #000000"> { db.Connection.Close(); }            <br />        }<br />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> _Result;<br />    }<br /><br /><br /></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">取得新闻</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000">    [OperationContract]<br />    [WebInvoke(ResponseFormat </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> WebMessageFormat.Json, UriTemplate </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">GetNews?id={id}&amp;limit={limit}</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">, Method </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">GET</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">)]<br />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> Stream GetNews(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> id,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> limit)<br />    {<br />        </span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000"> _Result </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;&quot;</span><span style="COLOR: #000000">;<br />        </span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000"> (DBDataContext db </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> DBDataContext())<br />        {<br />            </span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000"><br />            {<br />                var query </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> db.T_News.Select(c </span><span style="COLOR: #000000">=&gt;</span><span style="COLOR: #000000"> c.Title).Take(limit).ToList();<br />                </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">0</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> query.Count; i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br />                {<br />                    _Result </span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000"> query[i] </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">&lt;br/&gt;</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">;<br />                }<br />            }<br />            </span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000"> { }<br />            </span><span style="COLOR: #0000ff">finally</span><span style="COLOR: #000000"> { db.Connection.Close(); }<br />        }<br /><br />        MemoryStream ms </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> MemoryStream();<br />        StreamWriter sw </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> StreamWriter(ms);<br />        sw.AutoFlush </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;<br />        sw.Write(_Result);<br />        ms.Position </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">0</span><span style="COLOR: #000000">;<br />        WebOperationContext.Current.OutgoingResponse.ContentType </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">text/plain</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">;<br />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> ms;<br />    }<br /><br /><br /></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">取得图片地址</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000">    [OperationContract]<br />    [WebInvoke(ResponseFormat </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> WebMessageFormat.Json, UriTemplate </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">GetPic</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">, Method </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">GET</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">)]<br />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000"> GetPic()<br />    {<br />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">http://www.baidu.com/img/baidu_logo.gif</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">;<br />    }</span></span></pre>
</div>
<p><br /><span style="COLOR: #ff0000"><strong>3.JS部分</strong></span><br /><br />(1)页面上增加一个按钮<br />&lt;a id=&quot;Save_CDrag&quot; href=&quot;javascript:void(0);&quot; style=&quot;display:none&quot;&gt;[保存布局]&lt;/a&gt;<br /><br />(2)对应的增加处理的js函数</p>
<div class="cnblogs_code">
<pre><img id="Code_Closed_Image_142006" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_142006').style.display='none'; document.getElementById('Code_Open_Image_142006').style.display='inline'; document.getElementById('Code_Open_Text_142006').style.display='inline';" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" /><img id="Code_Open_Image_142006" style="DISPLAY: inline" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_142006').style.display='none'; getElementById('Code_Closed_Image_142006').style.display='inline'; getElementById('Code_Closed_Text_142006').style.display='inline';" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /><span class="cnblogs_code_Collapse" id="Code_Closed_Text_142006" style="DISPLAY: none">Code</span><span id="Code_Open_Text_142006" style="DISPLAY: inline"><br /><!--<br  /><br  />Code highlighting produced by Actipro CodeHighlighter (freeware)<br  />http://www.CodeHighlighter.com/<br  /><br  />--><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">(wc) {<br />                $(</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">DEL_CDrag</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">).onclick </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">() {<br />                    wc.del_cookie();<br />                    window.location.reload();<br />                };<br />                $(</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">ADD_CDrag</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">).onclick </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">() {<br />                    wc.append();<br />                };<br />               <span style="COLOR: #ff0000"> <span style="BACKGROUND-COLOR: #ffff99">$(</span></span></span><span style="COLOR: #ff0000"><span style="BACKGROUND-COLOR: #ffff99">&quot;<span style="COLOR: #000000">Save_CDrag</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">).onclick </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">function</span></span></span><span style="COLOR: #ff0000"><span style="BACKGROUND-COLOR: #ffff99">() {<br />                    _cookie <span style="COLOR: #000000">=</span></span></span><span style="COLOR: #ff0000"><span style="BACKGROUND-COLOR: #ffff99"> wc.get_cookie();<br />                    _url <span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">WCF/GetData.svc/SaveLayOutById?id=</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> encodeURIComponent(id) </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">&amp;layout=</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> encodeURIComponent(_cookie) </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">&amp;time=</span><span style="COLOR: #000000">&quot;</span></span></span><span style="COLOR: #ff0000"><span style="BACKGROUND-COLOR: #ffff99">;<br />                    _callBack <span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">function</span></span></span><span style="COLOR: #ff0000"><span style="BACKGROUND-COLOR: #ffff99">(str) {<br />                        <span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (str </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">\</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">\</span><span style="COLOR: #000000">&quot;&quot;</span></span></span><span style="COLOR: #ff0000"><span style="BACKGROUND-COLOR: #ffff99">) {<br />                            alert(<span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">布局保存成功!</span><span style="COLOR: #000000">&quot;</span></span></span><span style="COLOR: #ff0000"><span style="BACKGROUND-COLOR: #ffff99">);<br />                            disableSaveButton();<br />                        }<br />                        <span style="COLOR: #0000ff">else</span></span></span><span style="COLOR: #ff0000"><span style="BACKGROUND-COLOR: #ffff99"> {<br />                            alert(<span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">布局保存失败!</span><span style="COLOR: #000000">&quot;</span></span></span><span style="COLOR: #000000"><span style="COLOR: #ff0000"><span style="BACKGROUND-COLOR: #ffff99">);<br />                        }<br />                    };<br /><br />                    _ajax.initialize(_url);<br />                    _ajax.send(_url, _callBack);<br />                }<br /></span></span>            })(_wc);</span></span></pre>
</div>
<p>大意：利用CDrag扩展的Ajax功能，向WCF/GetData.svc/SaveLayOutById提交cookie数据写到数据库，再根据返回值给出提示</p>
<p>(3)页面初始加载函数修改</p>
<div class="cnblogs_code">
<pre><img id="Code_Closed_Image_142110" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_142110').style.display='none'; document.getElementById('Code_Open_Image_142110').style.display='inline'; document.getElementById('Code_Open_Text_142110').style.display='inline';" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" /><img id="Code_Open_Image_142110" style="DISPLAY: inline" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_142110').style.display='none'; getElementById('Code_Closed_Image_142110').style.display='inline'; getElementById('Code_Closed_Text_142110').style.display='inline';" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /><span class="cnblogs_code_Collapse" id="Code_Closed_Text_142110" style="DISPLAY: none">Code</span><span id="Code_Open_Text_142110" style="DISPLAY: inline"><br /><!--<br  /><br  />Code highlighting produced by Actipro CodeHighlighter (freeware)<br  />http://www.CodeHighlighter.com/<br  /><br  />--><span style="COLOR: #000000">Object.addEvent(window, [</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">onload</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">], </span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">() {<br /><br />        <span style="BACKGROUND-COLOR: #ffff99">$(</span></span><span style="BACKGROUND-COLOR: #ffff99"><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">loading</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">).innerHTML </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">&lt;span style='color:red'&gt;布局加载中<img alt="" src="http://images.cnblogs.com/dot.gif" />&lt;/span&gt;</span><span style="COLOR: #000000">&quot;</span></span><span style="BACKGROUND-COLOR: #ffff99"><span style="COLOR: #000000">;<br /><br />        </span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000"> _wc </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> CDrag, _ajax </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> CDrag.Ajax.prototype, _cookie </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> _wc.get_cookie(), _callBack </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">, _url </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">&quot;&quot;</span></span><span style="BACKGROUND-COLOR: #ffff99"><span style="COLOR: #000000">;<br /><br />        _url </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">WCF/GetData.svc/GetLayOutById?id=</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> encodeURIComponent(id) </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">&amp;time=</span><span style="COLOR: #000000">&quot;</span></span><span style="BACKGROUND-COLOR: #ffff99"><span style="COLOR: #000000">;<br /><br />        </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">加载完成的回调函数</span></span><span style="COLOR: #008000"><br /></span><span style="BACKGROUND-COLOR: #ffff99"><span style="COLOR: #000000">        _callBack </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">function</span></span><span style="BACKGROUND-COLOR: #ffff99"><span style="COLOR: #000000">(str) {<br />            _cookie </span><span style="COLOR: #000000">=</span></span><span style="BACKGROUND-COLOR: #ffff99"><span style="COLOR: #000000"> str;<br />            json </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> _cookie </span><span style="COLOR: #000000">?</span></span><span style="BACKGROUND-COLOR: #ffff99"><span style="COLOR: #000000"> _wc.parse_json(unescape(_cookie)) : [<br />                { cols: </span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">m_1</span><span style="COLOR: #000000">&quot;</span></span><span style="BACKGROUND-COLOR: #ffff99"><span style="COLOR: #000000">, rows: [<br />                    { id: </span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">m_1_1</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">, window: </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">, locks: </span><span style="COLOR: #0000ff">false</span></span><span style="BACKGROUND-COLOR: #ffff99"><span style="COLOR: #000000"> },<br />                    { id: </span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">m_1_2</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">, window: </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">, locks: </span><span style="COLOR: #0000ff">false</span></span><span style="BACKGROUND-COLOR: #ffff99"><span style="COLOR: #000000"> },<br />                    { id: </span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">m_1_3</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">, window: </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">, locks: </span><span style="COLOR: #0000ff">false</span></span><span style="BACKGROUND-COLOR: #ffff99"><span style="COLOR: #000000"> }<br />                ]<br />                }, {<br />                    cols: </span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">m_2</span><span style="COLOR: #000000">&quot;</span></span><span style="BACKGROUND-COLOR: #ffff99"><span style="COLOR: #000000">, rows: [<br />                    { id: </span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">m_2_1</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">, window: </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">, locks: </span><span style="COLOR: #0000ff">false</span></span><span style="BACKGROUND-COLOR: #ffff99"><span style="COLOR: #000000"> },<br />                    { id: </span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">m_2_2</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">, window: </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">, locks: </span><span style="COLOR: #0000ff">false</span></span><span style="BACKGROUND-COLOR: #ffff99"><span style="COLOR: #000000"> },<br />                    { id: </span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">m_2_3</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">, window: </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">, locks: </span><span style="COLOR: #0000ff">false</span></span><span style="BACKGROUND-COLOR: #ffff99"><span style="COLOR: #000000"> }<br />                ]<br />                },<br />                { cols: </span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">m_3</span><span style="COLOR: #000000">&quot;</span></span><span style="BACKGROUND-COLOR: #ffff99"><span style="COLOR: #000000">, rows: [<br />                    { id: </span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">m_3_1</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">, window: </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">, locks: </span><span style="COLOR: #0000ff">false</span></span><span style="BACKGROUND-COLOR: #ffff99"><span style="COLOR: #000000"> },<br />                    { id: </span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">m_3_2</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">, window: </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">, locks: </span><span style="COLOR: #0000ff">false</span></span><span style="BACKGROUND-COLOR: #ffff99"><span style="COLOR: #000000"> },<br />                    { id: </span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">m_3_3</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">, window: </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">, locks: </span><span style="COLOR: #0000ff">false</span></span><span style="COLOR: #000000"><span style="BACKGROUND-COLOR: #ffff99"> }<br />                ]<br />                }<br />            ];<br />            _wc.parse(json);<br /></span>            (</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">(wc) {<br />                $(</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">DEL_CDrag</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">).onclick </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">() {<br />                    wc.del_cookie();<br />                    window.location.reload();<br />                };<br />                $(</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">ADD_CDrag</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">).onclick </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">() {<br />                    wc.append();<br />                };<br />                $(</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">Save_CDrag</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">).onclick </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">() {<br />                    _cookie </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> wc.get_cookie();<br />                    _url </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">WCF/GetData.svc/SaveLayOutById?id=</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> encodeURIComponent(id) </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">&amp;layout=</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> encodeURIComponent(_cookie) </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">&amp;time=</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">;<br />                    _callBack </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">(str) {<br />                        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (str </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">\</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">\</span><span style="COLOR: #000000">&quot;&quot;</span><span style="COLOR: #000000">) {<br />                            alert(</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">布局保存成功!</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">);<br />                            disableSaveButton();<br />                        }<br />                        </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"> {<br />                            alert(</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">布局保存失败!</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">);<br />                        }<br />                    };<br /><br />                    _ajax.initialize(_url);<br />                    _ajax.send(_url, _callBack);<br />                }<br />            })(_wc);<br />            _wc </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">;<br />            $(</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">loading</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">).innerHTML </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">&quot;&quot;</span><span style="COLOR: #000000">;<br />        }<br />        _ajax.initialize(_url);<br />        _ajax.send(_url, _callBack);<br />    });</span></span></pre>
</div>
<p>同样，也是利用Ajax来加载布局数据</p>
<p><span style="COLOR: #ff0000"><strong>4.源代码下载:<br /></strong></span><a href="http://ext.cneds.net/src/dragdrop.rar">http://ext.cneds.net/src/dragdrop.rar</a>&nbsp;(要下载的抓紧，公司的域名临时拿来用的，随时可以会停掉)</p>
<p>转载请注明来自菩提树下的杨过<a href="http://www.cnblogs.com/yjmyzz/archive/2008/09/20/1294753.html">http://www.cnblogs.com/yjmyzz/archive/2008/09/20/1294753.html</a></p>
<p>后记:<br />其实本文没有什么特殊的技术含量，就是WCF与AJAX的常规应用，大家回去多演练几遍，自然也就熟能生巧了，其实感觉WCF的使用到不算很复杂，JS才是考验web应用真功夫的地方(特别是web 2.0的网站).</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://blog.sqlsky.com/default.asp?id=817" /> 
	  <id>http://blog.sqlsky.com/default.asp?id=817</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[ExtJs学习笔记(24)-Drag/Dro&#112;拖动功能 ]]></title>
	  <author>
		 <name>菩提树下的杨过</name>
		 <uri>http://blog.sqlsky.com/</uri>
		 <email>yjmyzz@126.com</email>
	  </author>
	  <category term="" scheme="http://blog.sqlsky.com/default.asp?cateID=16" label="javascript" /> 
	  <updated>2008-09-18T22:00:49+08:00</updated>
	  <published>2008-09-18T22:00:49+08:00</published>
		  <summary type="html"><![CDATA[<p>直接给代码吧，主要重点已经在代码里注释了</p>
<p>&nbsp;</p>
<div class="cnblogs_code">
<pre><img id="Code_Closed_Image_220938" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_220938').style.display='none'; document.getElementById('Code_Open_Image_220938').style.display='inline'; document.getElementById('Code_Open_Text_220938').style.display='inline';" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" /><img id="Code_Open_Image_220938" style="DISPLAY: inline" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_220938').style.display='none'; getElementById('Code_Closed_Image_220938').style.display='inline'; getElementById('Code_Closed_Text_220938').style.display='inline';" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /><span class="cnblogs_code_Collapse" id="Code_Closed_Text_220938" style="DISPLAY: none">Code</span><span id="Code_Open_Text_220938" style="DISPLAY: inline"><br /><!--<br  /><br  />Code highlighting produced by Actipro CodeHighlighter (freeware)<br  />http://www.CodeHighlighter.com/<br  /><br  />--><span style="COLOR: #0000ff">&lt;!</span><span style="COLOR: #ff00ff">DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">html </span><span style="COLOR: #ff0000">xmlns</span><span style="COLOR: #0000ff">=&quot;http://www.w3.org/1999/xhtml&quot;</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">head</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">title</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">Untitled Page</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">title</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">link </span><span style="COLOR: #ff0000">rel</span><span style="COLOR: #0000ff">=&quot;Stylesheet&quot;</span><span style="COLOR: #ff0000"> type</span><span style="COLOR: #0000ff">=&quot;text/css&quot;</span><span style="COLOR: #ff0000"> href</span><span style="COLOR: #0000ff">=&quot;../resources/css/ext-all.css&quot;</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">script </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">=&quot;text/javascript&quot;</span><span style="COLOR: #ff0000"> src</span><span style="COLOR: #0000ff">=&quot;../adapter/ext/ext-base.js&quot;</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">script</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">script </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">=&quot;text/javascript&quot;</span><span style="COLOR: #ff0000"> src</span><span style="COLOR: #0000ff">=&quot;../ext-all-debug.js&quot;</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">script</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">script </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">=&quot;text/javascript&quot;</span><span style="COLOR: #ff0000"> src</span><span style="COLOR: #0000ff">=&quot;../build/locale/ext-lang-zh_CN.js&quot;</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">script</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">   <br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">style </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">=&quot;text/css&quot;</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #800000; BACKGROUND-COLOR: #f5f5f5">   <br />        body</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">font-size</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">12px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">margin</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5"> 10px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">}</span><span style="COLOR: #800000; BACKGROUND-COLOR: #f5f5f5">     <br />        <br />        .block </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5"><br />            border</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5"> 1px red solid</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">                     <br />            height</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">80px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5"><br />            margin-top</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">50px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5"><br />            padding</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">20px 0 0 20px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5"><br />            clear</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">both</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5"><br />        </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">}</span><span style="COLOR: #800000; BACKGROUND-COLOR: #f5f5f5"><br />        .item </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5"><br />            border</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5"> 1px #000 solid</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5"> <br />            margin-right</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">10px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">                                   <br />            width</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5"> 60px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5"><br />            height</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5"> 40px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5"> <br />            text-align</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">center</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5"><br />            padding-top</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">20px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5"><br />            color</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">White</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">      <br />            float</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">left</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5"><br />            cursor</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">pointer</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5"><br />           <br />        </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">}</span><span style="COLOR: #800000; BACKGROUND-COLOR: #f5f5f5"><br />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">style</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"> <br /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">head</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">body</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">script </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">=&quot;text/javascript&quot;</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br />    Ext.onReady(</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">function</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">() {<br />        </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> proxy </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">new</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> Ext.dd.DDProxy(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&quot;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">proxy</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&quot;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">); </span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">这一句就可以建立一个随便拖的东东，神奇吧</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">        </span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">(ExtJs的拖动组件分二大类，DDProxy就是要拖动的东西，而DDTarget就是拖动后可以扔进去的目标容器区)</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br /><br /><br />        </span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">以下建立了三个拖动源DropSource(继承自DDProxy可以查看官方文档)，并标明gruop为dd</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">        </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> proxy_red </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">new</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> Ext.dd.DragSource(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">proxy_red</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">, { group: </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">dd</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> });<br />        </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> proxy_green </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">new</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> Ext.dd.DragSource(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">proxy_green</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">, { group: </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">dd</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> });<br />        </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> proxy_black </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">new</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> Ext.dd.DragSource(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">proxy_black</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">, { group: </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">dd</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> });<br /><br />        </span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">拖动完成的事件</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">        proxy_red.afterDragDrop </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">function</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(target, e, id) {<br />            </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> destEl </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> Ext.get(id);<br />            </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> srcEl </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> Ext.get(</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">this</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">.getEl());<br />            </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> sColor </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> srcEl.dom.id.split(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">_</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">)[</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">1</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">]; </span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">得取拖动源id的后面一部分，即proxy_red后面的red</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">            destEl.dom.style.backgroundColor </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> sColor; </span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">设置目标id的背景色</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">        };<br /><br />        proxy_green.afterDragDrop </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> proxy_red.afterDragDrop; </span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">为其它拖动源赋值同样的事件处理函数</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">        proxy_black.afterDragDrop </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> proxy_red.afterDragDrop;<br /><br />        </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> target </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">new</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> Ext.dd.DDTarget(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">target</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">, </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">dd</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">); </span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">建立拖动目标区(这里的dd与上面拖动源的group:dd相同</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">        </span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">只有相同group的DDProxy/DragSource才会接受)</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">    });<br /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">script</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">=&quot;proxy_red&quot;</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">=&quot;item&quot;</span><span style="COLOR: #ff0000"> style</span><span style="COLOR: #0000ff">=&quot;background:red&quot;</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">Red</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">       <br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">=&quot;proxy_green&quot;</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">=&quot;item&quot;</span><span style="COLOR: #ff0000"> style</span><span style="COLOR: #0000ff">=&quot;background:green&quot;</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">Green</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">     <br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">=&quot;proxy_black&quot;</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">=&quot;item&quot;</span><span style="COLOR: #ff0000"> style</span><span style="COLOR: #0000ff">=&quot;background:black&quot;</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">Black</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">   <br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">=&quot;proxy&quot;</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">=&quot;item&quot;</span><span style="COLOR: #ff0000"> style</span><span style="COLOR: #0000ff">=&quot;color:Black&quot;</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">我可以</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">br</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000">随便拖</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"> <br /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"> <br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">=&quot;target&quot;</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">=&quot;block&quot;</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">把上面有颜色的色块拖到我这里试试</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">body</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">html</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><br /></span></span></pre>
</div>
<p>&nbsp;</p>
<p>看下效果图:</p>
<p><br />1.拖动Green块(但还未到达目标区)时的效果:</p>
<p><img height="242" alt="" src="http://images.cntvs.com/jimmy/080917/1.jpg" width="549" /></p>
<p>2.拖动Green块(到达目标区)时的效果<br /><img alt="" src="http://images.cntvs.com/jimmy/080917/2.jpg" /><br /><br />3.拖动完成后的效果<br /><img height="233" alt="" src="http://images.cntvs.com/jimmy/080917/3.jpg" width="544" /></p>
<p>4.&quot;我可以随便拖&quot;的拖动效果<br /><img alt="" src="http://images.cntvs.com/jimmy/080917/4.jpg" /></p>
<p>5.&quot;我可以随便拖&quot;拖动完成后的效果<br /><img alt="" src="http://images.cntvs.com/jimmy/080917/5.jpg" /></p>
<p>&nbsp;转载请注明来自菩提树下的杨过<a id="Editor_Edit_hlEntryLink" title="view: ExtJs学习笔记(24)-Drop/Drop拖动功能" href="http://www.cnblogs.com/yjmyzz/archive/2008/09/17/1292728.html" target="_blank"><span style="COLOR: #002c99">http://www.cnblogs.com/yjmyzz/archive/2008/09/17/1292728.html</span></a></p>
<p>&nbsp;</p>
<p>简单说明几点:</p>
<p>1.ExtJs中的拖动功能，只要记住DDProxy是用来拖动的组件，而DDTarget就是用来放拖动块的容器就可以了，其它东西比如DragZone,DragSource都是继承自DDProxy，同样基本功能也就是拖动块</p>
<p>2.DDProxy其它的常用事件，可以参考官方的API文档</p>
<p>再来改进一下：</p>
<div class="cnblogs_code">
<pre><img id="Code_Closed_Image_213253" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_213253').style.display='none'; document.getElementById('Code_Open_Image_213253').style.display='inline'; document.getElementById('Code_Open_Text_213253').style.display='inline';" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" /><img id="Code_Open_Image_213253" style="DISPLAY: inline" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_213253').style.display='none'; getElementById('Code_Closed_Image_213253').style.display='inline'; getElementById('Code_Closed_Text_213253').style.display='inline';" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /><span class="cnblogs_code_Collapse" id="Code_Closed_Text_213253" style="DISPLAY: none">Code</span><span id="Code_Open_Text_213253" style="DISPLAY: inline"><br /><!--<br  /><br  />Code highlighting produced by Actipro CodeHighlighter (freeware)<br  />http://www.CodeHighlighter.com/<br  /><br  />--><span style="COLOR: #0000ff">&lt;!</span><span style="COLOR: #ff00ff">DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">html </span><span style="COLOR: #ff0000">xmlns</span><span style="COLOR: #0000ff">=&quot;http://www.w3.org/1999/xhtml&quot;</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">head</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">title</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">Untitled Page</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">title</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">link </span><span style="COLOR: #ff0000">rel</span><span style="COLOR: #0000ff">=&quot;Stylesheet&quot;</span><span style="COLOR: #ff0000"> type</span><span style="COLOR: #0000ff">=&quot;text/css&quot;</span><span style="COLOR: #ff0000"> href</span><span style="COLOR: #0000ff">=&quot;../resources/css/ext-all.css&quot;</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">script </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">=&quot;text/javascript&quot;</span><span style="COLOR: #ff0000"> src</span><span style="COLOR: #0000ff">=&quot;../adapter/ext/ext-base.js&quot;</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">script</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">script </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">=&quot;text/javascript&quot;</span><span style="COLOR: #ff0000"> src</span><span style="COLOR: #0000ff">=&quot;../ext-all-debug.js&quot;</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">script</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">script </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">=&quot;text/javascript&quot;</span><span style="COLOR: #ff0000"> src</span><span style="COLOR: #0000ff">=&quot;../build/locale/ext-lang-zh_CN.js&quot;</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">script</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">   <br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">style </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">=&quot;text/css&quot;</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #800000; BACKGROUND-COLOR: #f5f5f5">   <br />        body</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">font-size</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">12px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">margin</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5"> 10px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">}</span><span style="COLOR: #800000; BACKGROUND-COLOR: #f5f5f5">     <br />        <br />        .block </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5"><br />            clear</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">left</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">  <br />            margin-top</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">50px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">    <br />            border</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5"> solid 1px #000</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">                     <br />            height</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">80px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">            <br />            padding</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">20px 0 0 20px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5"><br />                  <br />        </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">}</span><span style="COLOR: #800000; BACKGROUND-COLOR: #f5f5f5"><br />        .item </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5"><br />            border</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5"> 1px #000 solid</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">            <br />            margin-right</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">10px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">                                   <br />            width</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5"> 60px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5"><br />            height</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5"> 40px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5"> <br />            text-align</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">center</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5"><br />            padding-top</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">20px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5"><br />            color</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">White</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">      <br />            float</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">left</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5"><br />            cursor</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">pointer</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">           <br />        </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">}</span><span style="COLOR: #800000; BACKGROUND-COLOR: #f5f5f5"><br />        <br />        .BorderOver</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">border</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">dashed 2px #00f</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">}</span><span style="COLOR: #800000; BACKGROUND-COLOR: #f5f5f5"><br />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">style</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"> <br /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">head</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">body</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">script </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">=&quot;text/javascript&quot;</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br />    Ext.onReady(</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">function</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">() {<br />        </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> proxy </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">new</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> Ext.dd.DDProxy(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&quot;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">proxy</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&quot;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">); </span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">这一句就可以建立一个随便拖的东东，神奇吧</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">        </span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">(ExtJs的拖动组件分二大类，DDProxy就是要拖动的东西，而DDTarget就是拖动后可以扔进去的目标容器区)</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br /><br /><br />        </span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">以下建立了三个拖动源DropSource(继承自DDProxy可以查看官方文档)，并标明gruop为dd</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">        </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> proxy_red </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">new</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> Ext.dd.DragSource(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">proxy_red</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">, { group: </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">dd</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> });<br />        </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> proxy_green </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">new</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> Ext.dd.DragSource(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">proxy_green</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">, { group: </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">dd</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> });<br />        </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> proxy_black </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">new</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> Ext.dd.DragSource(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">proxy_black</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">, { group: </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">dd</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> });<br /><br />        </span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">拖动完成的事件</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">        proxy_red.afterDragDrop </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">function</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(target, e, id) {<br />            </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> destEl </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> Ext.get(id);<br />            </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> srcEl </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> Ext.get(</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">this</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">.getEl());<br /><br />            </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">if</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> (destEl.dom.id </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">==</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&quot;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">target2</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&quot;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">) {<br />                </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">if</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> (srcEl.dom.id </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">!=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&quot;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">proxy_red</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&quot;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">) {<br />                    destEl.dom.style.border </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&quot;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">solid #000 1px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&quot;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;<br />                    alert(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&quot;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">此区域仅接受red(红色)色块！</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&quot;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">);<br />                    </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">return</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">false</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;<br />                }<br />            }<br />            </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> sColor </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> srcEl.dom.id.split(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">_</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">)[</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">1</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">]; </span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">得取拖动源id的后面一部分，即proxy_red后面的red</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">            destEl.dom.style.backgroundColor </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> sColor; </span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">设置目标id的背景色</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">            destEl.dom.style.border </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&quot;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">solid #000 1px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&quot;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;<br />        };<br /><br /><br />        proxy_red.onDragEnter </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">function</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(e, id) {<br />            Ext.get(id).dom.style.border </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&quot;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">dashed #00f 2px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&quot;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;<br />            Ext.get(id).dom.style.backgroundColor </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&quot;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">#fff</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&quot;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;<br />        }<br /><br /><br />        proxy_red.onDragOut </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">function</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(e, id) {<br />            Ext.get(id).dom.style.border </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&quot;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">solid #000 1px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&quot;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;<br />        }<br /><br />        proxy_green.afterDragDrop </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> proxy_red.afterDragDrop; </span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">为其它拖动源赋值同样的事件处理函数</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">        proxy_black.afterDragDrop </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> proxy_red.afterDragDrop;<br /><br />        proxy_green.onDragEnter </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> proxy_red.onDragEnter;<br />        proxy_black.onDragEnter </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> proxy_red.onDragEnter;<br /><br />        proxy_green.onDragOut </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> proxy_red.onDragOut;<br />        proxy_black.onDragOut </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> proxy_red.onDragOut;<br /><br />        </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> target </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">new</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> Ext.dd.DDTarget(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">target</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">, </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">dd</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">); </span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">建立拖动目标区(这里的dd与上面拖动源的group:dd相同</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">        </span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">只有相同group的DDProxy/DragSource才会接受)        </span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br />        </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> target2 </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">new</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> Ext.dd.DDTarget(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">target2</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">, </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">dd</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">);<br />    });<br /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">script</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">=&quot;proxy_red&quot;</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">=&quot;item&quot;</span><span style="COLOR: #ff0000"> style</span><span style="COLOR: #0000ff">=&quot;background:red&quot;</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">Red</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">       <br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">=&quot;proxy_green&quot;</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">=&quot;item&quot;</span><span style="COLOR: #ff0000"> style</span><span style="COLOR: #0000ff">=&quot;background:green&quot;</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">Green</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">     <br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">=&quot;proxy_black&quot;</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">=&quot;item&quot;</span><span style="COLOR: #ff0000"> style</span><span style="COLOR: #0000ff">=&quot;background:black&quot;</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">Black</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">   <br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">=&quot;proxy&quot;</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">=&quot;item&quot;</span><span style="COLOR: #ff0000"> style</span><span style="COLOR: #0000ff">=&quot;color:Black&quot;</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">我可以</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">br</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000">随便拖</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"> <br /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"> <br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">br</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">=&quot;target&quot;</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">=&quot;block&quot;</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">把上面有颜色的色块拖到我这里试试</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">=&quot;target2&quot;</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">=&quot;block&quot;</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">把上面有颜色的色块拖到我这里试试(此区域仅接受红色块)</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">body</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">html</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><br /></span></span></pre>
</div>
<p>&nbsp;</p>
<p>&nbsp;<img alt="" src="http://images.cntvs.com/jimmy/080918/01.jpg" /></p>
<p>这一次我们建立了二个目标容器</p>
<p><br /><br /><img alt="" src="http://images.cntvs.com/jimmy/080918/02.jpg" /></p>
<p>并且第二个容器仅接受红色的色块</p>
<p><br /><img height="362" alt="" src="http://images.cntvs.com/jimmy/080918/03.jpg" width="550" /></p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://blog.sqlsky.com/default.asp?id=816" /> 
	  <id>http://blog.sqlsky.com/default.asp?id=816</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[ExtJs学习笔记(23)-ScriptTagProxy+XTemplate+WCF跨域取数据 ]]></title>
	  <author>
		 <name>菩提树下的杨过</name>
		 <uri>http://blog.sqlsky.com/</uri>
		 <email>yjmyzz@126.com</email>
	  </author>
	  <category term="" scheme="http://blog.sqlsky.com/default.asp?cateID=7" label=".NET开发" /> 
	  <updated>2008-09-18T21:59:22+08:00</updated>
	  <published>2008-09-18T21:59:22+08:00</published>
		  <summary type="html"><![CDATA[<p>ajax应用中跨域一直是一个非常麻烦的问题，目前也有一些解决办法，但要么比较麻烦，要么就不具备通用性，幸好ExtJs里的ScriptTagProxy提供了跨域读取数据的功能，而且在几大浏览器上都可以正常运行，但在使用过程中要注意几点:</p>
<p><span style="COLOR: #ff0000"><strong>1.</strong></span>服务端返回时，必须按以下格式返回:</p>
<p>stcCallback1001({...})</p>
<p>其中stcCallback1001中的1001是自动生成的，如果是分页提交的话，每再请求一次1001会变成1002,1003...类推</p>
<p><span style="COLOR: #ff0000"><strong>2.</strong></span>ExtJs官方的示例中虽然ScriptTagProxy的例子并不少，但是就是没有XTemplate+ScriptTagProxy跨域读取的单一功能示例，下面给一个XTemplate跨域读取数据的示例</p>
<p><span style="COLOR: #0000ff"><strong>a.</strong></span>服务端WCF的处理</p>
<div class="cnblogs_code">
<pre><img id="Code_Closed_Image_135657" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_135657').style.display='none'; document.getElementById('Code_Open_Image_135657').style.display='inline'; document.getElementById('Code_Open_Text_135657').style.display='inline';" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" /><img id="Code_Open_Image_135657" style="DISPLAY: inline" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_135657').style.display='none'; getElementById('Code_Closed_Image_135657').style.display='inline'; getElementById('Code_Closed_Text_135657').style.display='inline';" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /><span class="cnblogs_code_Collapse" id="Code_Closed_Text_135657" style="DISPLAY: none">Code</span><span id="Code_Open_Text_135657" style="DISPLAY: inline"><br /><!--<br  /><br  />Code highlighting produced by Actipro CodeHighlighter (freeware)<br  />http://www.CodeHighlighter.com/<br  /><br  />--><span style="COLOR: #000000">[OperationContract]<br />    [WebInvoke(ResponseFormat </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> WebMessageFormat.Json, UriTemplate </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">GetData3?start={start}&amp;limit={limit}&amp;callback={callback}</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">, Method </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">*</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">)]<br />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> Stream GetData3(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> start, </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> limit,</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000"> CallBack)<br />    {<br />        System.Threading.Thread.Sleep(</span><span style="COLOR: #800080">1000</span><span style="COLOR: #000000">);</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">为演示Ajax加载效果，停1秒</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000"><br />        List</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">T_GuestBook</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"> _List </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> List</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">T_GuestBook</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">();<br />        _List.Add(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> T_GuestBook() { F_ID </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">1</span><span style="COLOR: #000000">, F_IP </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">192.23.37.41</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">, F_Date </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> DateTime.Now, F_Content </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">这是第一条留言</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">, F_Reply </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;&quot;</span><span style="COLOR: #000000"> });<br />        _List.Add(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> T_GuestBook() { F_ID </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">2</span><span style="COLOR: #000000">, F_IP </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">192.168.0.1</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">, F_Date </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> DateTime.Now, F_Content </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">这是第二条留言</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">, F_Reply </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;&quot;</span><span style="COLOR: #000000"> });<br />        _List.Add(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> T_GuestBook() { F_ID </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">3</span><span style="COLOR: #000000">, F_IP </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">192.168.0.2</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">, F_Date </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> DateTime.Now, F_Content </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">这是第三条留言</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">, F_Reply </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;&quot;</span><span style="COLOR: #000000"> });<br />        _List.Add(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> T_GuestBook() { F_ID </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">4</span><span style="COLOR: #000000">, F_IP </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">172.168.235.1</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">, F_Date </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> DateTime.Now, F_Content </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">这是第四条留言</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">, F_Reply </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;&quot;</span><span style="COLOR: #000000"> });<br />        _List.Add(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> T_GuestBook() { F_ID </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">5</span><span style="COLOR: #000000">, F_IP </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">10.200.30.4</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">, F_Date </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> DateTime.Now, F_Content </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">这是第五条留言</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">, F_Reply </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;&quot;</span><span style="COLOR: #000000"> });<br />        _List.Add(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> T_GuestBook() { F_ID </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">6</span><span style="COLOR: #000000">, F_IP </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">10.200.30.5</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">, F_Date </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> DateTime.Now, F_Content </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">这是第六条留言</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">, F_Reply </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;&quot;</span><span style="COLOR: #000000"> });<br />        </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">以上操作也可以改为利用Linq直接从数据库读取                   </span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000"><br /><br />        PageData</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">List</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">T_GuestBook</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000"> _PageData </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> PageData</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">List</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">T_GuestBook</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">();<br /><br />        _PageData.RecordCount </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> _List.Count;<br /><br />        </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> PageSize </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> limit;<br /><br />        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (PageSize </span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">0</span><span style="COLOR: #000000">) { PageSize </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">1</span><span style="COLOR: #000000">; }<br />        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (PageSize </span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"> _PageData.RecordCount) { PageSize </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> _PageData.RecordCount; }<br />        _PageData.PageSize </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> PageSize;<br /><br />        </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">计算总页数</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (_PageData.RecordCount </span><span style="COLOR: #000000">%</span><span style="COLOR: #000000"> _PageData.PageSize </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">0</span><span style="COLOR: #000000">)<br />        {<br />            _PageData.PageCount </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (_PageData.RecordCount </span><span style="COLOR: #000000">/</span><span style="COLOR: #000000"> _PageData.PageSize);<br />        }<br />        </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br />        {<br />            _PageData.PageCount </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (_PageData.RecordCount </span><span style="COLOR: #000000">/</span><span style="COLOR: #000000"> _PageData.PageSize) </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">1</span><span style="COLOR: #000000">;<br />        }<br /><br />        </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> PageIndex </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (start</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">limit) </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">1</span><span style="COLOR: #000000">;<br /><br />        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (PageIndex </span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">0</span><span style="COLOR: #000000">) { PageIndex </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">1</span><span style="COLOR: #000000">; }<br />        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (PageIndex </span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"> _PageData.PageCount) { PageIndex </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> _PageData.PageCount; }<br /><br />        _PageData.CurrentPageIndex </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> PageIndex;<br /><br />        List</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">T_GuestBook</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"> _List2 </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> _List.Skip(start).Take(limit).ToList();</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">取得当前页数据</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000"><br />        _PageData.Data </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> _List2;<br /><br /><br />        </span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000"> returnStr </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> CallBack </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">(</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> JavaScriptConvert.SerializeObject(_PageData) </span><span style="COLOR: #000000">+</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">)</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">;<br />        MemoryStream ms </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> MemoryStream();<br />        StreamWriter sw </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> StreamWriter(ms);<br />        sw.AutoFlush </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;<br />        sw.Write(returnStr);<br />        ms.Position </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">0</span><span style="COLOR: #000000">;<br />        WebOperationContext.Current.OutgoingResponse.ContentType </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #800000">text/plain</span><span style="COLOR: #800000">&quot;</span><span style="COLOR: #000000">;<br /><br />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> ms;<br />    }</span></span></pre>
</div>
<p><br />这里与上一篇http://www.cnblogs.com/yjmyzz/archive/2008/09/10/1288399.html (ExtJs学习笔记(22)-XTemplate + WCF 打造无刷新数据分页)相比，多了一个参数callBack，同时返回类型改为Stream，返回方法的处理参考了老张的<a href="http://www.cnblogs.com/jillzhang/archive/2008/07/17/1245458.html">http://www.cnblogs.com/jillzhang/archive/2008/07/17/1245458.html</a>(再说ExtJs与WCF之间的跨域访问)一文</p>
<p><br /><span style="COLOR: #0000ff"><strong>b.</strong></span>ExtJs的前端处理</p>
<div class="cnblogs_code">
<pre><img id="Code_Closed_Image_135735" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_135735').style.display='none'; document.getElementById('Code_Open_Image_135735').style.display='inline'; document.getElementById('Code_Open_Text_135735').style.display='inline';" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" /><img id="Code_Open_Image_135735" style="DISPLAY: inline" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_135735').style.display='none'; getElementById('Code_Closed_Image_135735').style.display='inline'; getElementById('Code_Closed_Text_135735').style.display='inline';" height="16" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /><span class="cnblogs_code_Collapse" id="Code_Closed_Text_135735" style="DISPLAY: none">Code</span><span id="Code_Open_Text_135735" style="DISPLAY: inline"><br /><!--<br  /><br  />Code highlighting produced by Actipro CodeHighlighter (freeware)<br  />http://www.CodeHighlighter.com/<br  /><br  />--><span style="COLOR: #0000ff">&lt;!</span><span style="COLOR: #ff00ff">DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">html </span><span style="COLOR: #ff0000">xmlns</span><span style="COLOR: #0000ff">=&quot;http://www.w3.org/1999/xhtml&quot;</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">head</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">title</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">title</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">link </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">=&quot;text/css&quot;</span><span style="COLOR: #ff0000"> rel</span><span style="COLOR: #0000ff">=&quot;Stylesheet&quot;</span><span style="COLOR: #ff0000">  href</span><span style="COLOR: #0000ff">=&quot;../resources/css/ext-all.css&quot;</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">script </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">=&quot;text/javascript&quot;</span><span style="COLOR: #ff0000"> src</span><span style="COLOR: #0000ff">=&quot;../adapter/ext/ext-base.js&quot;</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">script</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">script </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">=&quot;text/javascript&quot;</span><span style="COLOR: #ff0000"> src</span><span style="COLOR: #0000ff">=&quot;../ext-all-debug.js&quot;</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">script</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">style </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">=&quot;text/css&quot;</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #800000; BACKGROUND-COLOR: #f5f5f5">        *</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">font-size</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5"> 9pt</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">line-height</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5"> 120%</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">}</span><span style="COLOR: #800000; BACKGROUND-COLOR: #f5f5f5">        .red</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">color</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5"> Red</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">}</span><span style="COLOR: #800000; BACKGROUND-COLOR: #f5f5f5">        h1</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">font-size</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">16px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">}</span><span style="COLOR: #800000; BACKGROUND-COLOR: #f5f5f5">    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">style</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">    <br /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">head</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">body</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">script </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">=&quot;text/javascript&quot;</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br />    Ext.onReady(</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">function</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">() {<br />        </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> proxy </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">new</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> Ext.data.ScriptTagProxy({<br />        url: </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">http://ext.cneds.net/WCF/MyService.svc/GetData3</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br /><br />        </span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">服务端的返回值类似:</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">        </span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">stcCallback1001({&quot;RecordCount&quot;:6,&quot;PageSize&quot;:2,&quot;PageCount&quot;:3,&quot;CurrentPageIndex&quot;:2,&quot;Data&quot;:[{&quot;F_ID&quot;:3,&quot;F_IP&quot;:&quot;192.168.0.2&quot;,&quot;F_Date&quot;:new Date(1221399073843),&quot;F_Content&quot;:&quot;这是第三条留言&quot;,&quot;F_Reply&quot;:&quot;&quot;},{&quot;F_ID&quot;:4,&quot;F_IP&quot;:&quot;172.168.235.1&quot;,&quot;F_Date&quot;:new Date(1221399073843),&quot;F_Content&quot;:&quot;这是第四条留言&quot;,&quot;F_Reply&quot;:&quot;&quot;}]})</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">        </span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">其中stcCallback1001中的1001是自动生成的，如果是分页提交的话，每再请求一次1001会变成1002,1003<img alt="" src="http://images.cnblogs.com/dot.gif" />类推</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">        <br />        });<br />        </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> reader </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">new</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> Ext.data.JsonReader(<br />         { root: </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">Data</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">, totalProperty: </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">RecordCount</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> },<br />         [<br />           { name: </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; B