<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_antony－－异域空间</title><subtitle type="text">性格左右命运，气度影响格局！学习.NET - JAVA 技术---- 深圳向左，我向右</subtitle><id>http://feed.cnblogs.com/blog/u/15025/rss</id><updated>2012-02-11T07:55:49Z</updated><author><name>antony.net</name><uri>http://www.cnblogs.com/antony1029/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/antony1029/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/15025/rss"/><entry><id>http://www.cnblogs.com/antony1029/archive/2011/02/14/1954771.html</id><title type="text">2011年国内五款值得关注网店系统</title><summary type="text">转自：http://blog.phpchina.com/blog_view.php?aid=4972010年电子商务发展极为迅猛，以京东商城、当当网为代表的B2C（企业对用户）形式开始唱主角，2011年也仍将是电子商务创业的膨胀期。网店系统作为电子商务业务的技术支撑，必然是需要重点考虑的。以2010年各个软件商的表现，2011年有哪些网店系统值得关注呢？ 1、shopex开发语言：PHP，不开源官方网站：http://www.shopex.cn/作为国内流行的网店系统，shopex功能完善，目前已经衍生出一条包括网店助理、网店小信使、网店客服通等较为完整的产品线，对于想试水电子商务的用户比较适</summary><published>2011-02-14T15:54:00Z</published><updated>2011-02-14T15:54:00Z</updated><author><name>antony.net</name><uri>http://www.cnblogs.com/antony1029/</uri></author><link rel="alternate" href="http://www.cnblogs.com/antony1029/archive/2011/02/14/1954771.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/antony1029/archive/2011/02/14/1954771.html"/><content type="html">&lt;p&gt;转自：&lt;a href="http://blog.phpchina.com/blog_view.php?aid=497"&gt;http://blog.phpchina.com/blog_view.php?aid=497&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;2010年电子商务发展极为迅猛，以京东商城、当当网为代表的B2C（企业对用户）形式开始唱主角，2011年也仍将是电子商务创业的膨胀期。网店系统作为电子商务业务的技术支撑，必然是需要重点考虑的。以2010年各个软件商的表现，2011年有哪些网店系统值得关注呢？ &lt;/p&gt;&#xD;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div&gt;1、shopex&lt;/div&gt;&#xD;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div&gt;&lt;img border="0" alt="" src="http://www.php100.com/cms/uploads/101215/1_220453_1.png" width="166" height="70" /&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div&gt;开发语言：PHP，不开源&lt;/div&gt;&#xD;
&lt;div&gt;官方网站：http://www.shopex.cn/&lt;/div&gt;&#xD;
&lt;div&gt;作为国内流行的网店系统，shopex功能完善，目前已经衍生出一条包括网店助理、网店小信使、网店客服通等较为完整的产品线，对于想试水电子商务的用户比较适合。不开源是它最大的劣势，想要升级为大型网站必须通过官方定制来实现，费用非常高昂。&lt;/div&gt;&#xD;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div&gt;2、iwebshop&lt;/div&gt;&#xD;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div&gt;&amp;nbsp;&lt;img border="0" alt="shop 程序" src="http://www.php100.com/cms/uploads/101215/1_220525_1.png" width="272" height="58" /&gt;&lt;/div&gt;&#xD;
&lt;div&gt;开发语言：PHP、开源&lt;/div&gt;&#xD;
&lt;div&gt;官方网址：http://www.jooyea.net/&lt;/div&gt;&#xD;
&lt;div&gt;一款不知名，但发展非常迅速的网店系统，通过一年来持续版本更新，iwebshop的功能越来越完善，打开速度非常快，积攒了不错的用户口碑。很重要的一点，iwebshop开源，用户可以自行二次开发个性化功能。尽管iwebshop存在一些bug和不足，功能有待进一步完善，但它是一款值得重点关注的网店系统。&lt;/div&gt;&#xD;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div&gt;3、ecshop&lt;/div&gt;&#xD;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div&gt;&amp;nbsp;&lt;img border="0" alt="ecshop" src="http://www.php100.com/cms/uploads/101215/1_220603_1.gif" width="124" height="36" /&gt;&lt;/div&gt;&#xD;
&lt;div&gt;开发语言：PHP、开源&lt;/div&gt;&#xD;
&lt;div&gt;官方网站：http://www.ecshop.com/&lt;/div&gt;&#xD;
&lt;div&gt;赫赫有名的开源网店系统，由于开源、灵活，曾在站长圈内赞不绝口。不过自认商派作父后，版本升级周期明显延长，论坛上的bug错误长期得不到回应。功能上，ecshop还算是相对齐全的，运行速度也不错，有技术实力的朋友可以考虑。&lt;/div&gt;&#xD;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div&gt;4、v5shop&lt;/div&gt;&#xD;
&lt;div&gt;&lt;img border="0" alt="v5shop" src="http://www.php100.com/cms/uploads/101215/1_220640_1.jpg" width="170" height="44" /&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div&gt;开发语言：ASP. NET、不开源&lt;/div&gt;&#xD;
&lt;div&gt;官方网站：http://www.hishop.com.cn/&lt;/div&gt;&#xD;
&lt;div&gt;属于网店系统领域后来者发展得相当不错的一家公司，自被上海威博网络技术有限公司收购后，改变营销策略，在产品、服务、营销推广等方面都大有改进。系统版本多样，模板也比较丰富。不过相比PHP网店系统，可以和v5shop整合的系统太少。&lt;/div&gt;&#xD;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div&gt;5、hishop&lt;/div&gt;&#xD;
&lt;div&gt;&lt;img border="0" alt="hishop" src="http://www.php100.com/cms/uploads/101215/1_220722_1.gif" width="117" height="45" /&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div&gt;开发语言：ASP. NET、不开源&lt;/div&gt;&#xD;
&lt;div&gt;官方网站：http://www.hishop.com.cn/&lt;/div&gt;&#xD;
&lt;div&gt;在业内率先向分销领域拓展业务方向，今年推出的易分销网店货源分销系统，在原有的Hishop网店系统基础上对分销功能进一步升级，成为国内目前分销系统领域市场占有率最高的系统程序。&lt;/div&gt;&lt;img src="http://www.cnblogs.com/antony1029/aggbug/1954771.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/antony1029/archive/2011/02/14/1954771.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/antony1029/archive/2011/01/13/1934786.html</id><title type="text">Enterprise Architect 7 入门教程大全</title><summary type="text">一． 简介 生命周期软件设计方案——Enterprise Architect是以目标为导向的软件系统。它覆盖了系统开发的整个周期，除了开发类模型之外，还包括事务进程分析，使用案例需求，动态模型，组件和布局，系统管理，非功能需求，用户界面设计，测试和维护等。 为整个团队提供高级的UML 2.0建模工具。EA为用户提供一个高性能、直观的工作界面，联合UML 2.0最新规范，为桌面电脑工作人员、开发和应用团队打造先进的软件建模方案。该产品不仅特性丰富，而且性价比极高，可以用来配备您的整个工作团队，包括分析人员、测试人员、项目经理、品质控制和部署人员等。 丰富系统设计 Enterprise  Arch</summary><published>2011-01-13T09:53:00Z</published><updated>2011-01-13T09:53:00Z</updated><author><name>antony.net</name><uri>http://www.cnblogs.com/antony1029/</uri></author><link rel="alternate" href="http://www.cnblogs.com/antony1029/archive/2011/01/13/1934786.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/antony1029/archive/2011/01/13/1934786.html"/><content type="html">&lt;div&gt;一．&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 简介&lt;br /&gt; &lt;br /&gt;生命周期软件设计方案&amp;#8212;&amp;#8212;Enterprise Architect是以目标为导向的软件系统。它覆盖了系统开发的整个周期，除了开发类模型之外，还包括事务进程分析，使用案例需求，动态模型，组件和布局，系统管理，非功能需求，用户界面设计，测试和维护等。 &lt;br /&gt;为整个团队提供高级的UML 2.0建模工具。&lt;br /&gt;EA为用户提供一个高性能、直观的工作界面，联合UML 2.0最新规范，为桌面电脑工作人员、开发和应用团队打造先进的软件建模方案。该产品不仅特性丰富，而且性价比极高，可以用来配备您的整个工作团队，包括分析人员、测试人员、项目经理、品质控制和部署人员等。 &lt;br /&gt;丰富系统设计&lt;br /&gt; &lt;br /&gt;Enterprise  Architect是一个完全的UML分析和设计工具，它能完成从需求收集经步骤分析、模型设计到测试和维护的整个软件开发过程。它基于多用户  Windows平台的图形工具可以帮助您设计健全可维护的软件。除此，它还包含特性灵活的高品质文档输出。用户指南可以在线获取。&lt;br /&gt;快速、稳定、高性能&lt;br /&gt;统一建模语言能够以一致方式构建强健和可跟踪的软件系统模型，而EA为该构建过程提供了一个易于使用和快速灵活的工作环境。&lt;br /&gt;端到端跟踪&lt;br /&gt;Enterprise Architect提供了从需求分析、软件设计一直到执行和部署整个过程的全面可跟踪性。结合内置的任务和资源分配，项目管理人员和QA团队能够及时获取他们需要的信息，以便使项目按计划进行。&lt;br /&gt;在UML 2.0上构建&lt;br /&gt;通过UML（统一建模语言），您可以构建严格的可追踪的软件系统模型。EA为UML构建软件模型提供了一个快速便捷的应用环境，它支持OMG定义的新UML2.0标准。&lt;br /&gt;Enterprise  Architect的基础构建于UML 2.0规范之上，不仅如此，使用UML  Profile还可以扩展建模范围，与此同时，模型验证将确保其完整性。产品含有免费的extensions for BPMN 和  Eriksson-Penker profile，能够将业务程序、信息和工作流程联合到一个模型内。&lt;br /&gt;利用EA，设计人员可以充分利用13 UML 2.0图表的功能&amp;#8212;&amp;#8212;EA支持全部13种 UML 2.0图表和相关的图表元素；&lt;br /&gt;包括： &lt;br /&gt;结构图表：类、对象、合成元素、包、组件、布局； &lt;br /&gt;行为图表：使用案例、通信、序列、交互概述、行为、状态、时序； &lt;br /&gt;扩展：分析（简单行为）、定制（需求、变动和UI设计）。 &lt;br /&gt;EA提供使用工具，能够跟踪依赖关系、支持大型模型，帮助您管理大型复杂的工程；含有CVS或SCC提供工具，以时间快照为基线，通过比较来跟踪模型变动，从而实现版本控制；含有类似explorer的项目视窗，为您提供直观高性能的工作界面。&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EA还含有一个所见即所得形式的模板编辑器，提供强大的文档生成和报告工具，能够生成复杂详细的报告，报告可以按照公司或客户要求的格式提供所需信息。&lt;br /&gt;EA 具备源代码的前向和反向工程能力，支持多种通用语言，包括C++, C#, Java, Delphi, VB.Net, Visual  Basic和PHP，除此，还可以获取免费的CORBA和Python附加组件。EA提供一个内置的源代码编辑器，含语法突出功能，确保能够在一致的工作 环境中快速导航和查找您的模型源代码。对于Eclipse或Visual Studio.Net工作人员，Sparx  Systems还提供到这些IDE的轻量链接工具，您可以在EA中进行建模，而后直接跳转到自己偏爱的编辑器中进行源代码的进一步开发。代码生成模板还允 许您对生成的源代码进行定制，使之同公司规范相符。&lt;br /&gt;EA还提供对大多数软件开发语言和数据库架构的逆向工程支持，令您的应用程序可视化，从源代码、Java.jar文件甚至是.Net二进制汇编语言中获取完整框架。通过导入框架和库代码，实现对您已有投资重复利用的最大化。&lt;br /&gt;EA 还提供变换模板，编辑和开发均非常简单，支持先进的模型驱动结构体系（MDA）。通过内置的DDL, C#, Java, EJB 和  XSD变换，您可以从简单的&amp;#8220;平台独立模型&amp;#8221;开始来构建复杂的解决方案，并定位于&amp;#8220;平台专门模型&amp;#8221;（PSM）。一个PIM可以用来生成并同步多个PSM， 使工作效率得到显著提高。&lt;br /&gt;主要特性 &lt;br /&gt;UML设计和构建； &lt;br /&gt;使用案例，逻辑，动态和物理模型； &lt;br /&gt;定制进程模型的扩展或其他； &lt;br /&gt;高品质的MS Word 兼容文档； &lt;br /&gt;应用直观方便； &lt;br /&gt;低许可费； &lt;br /&gt;数据建模，前向DDL数据库工程，反向ODBC数据库工程； &lt;br /&gt;多用户（Professional 和 Corporate Edition）； &lt;br /&gt;前向或逆向代码工 程（Professional 和 Corporate Edition）&amp;#8212;&amp;#8212;支持Java, C#, C++, VB.Net, Delphi, Visual Basic 和 PHP； &lt;br /&gt;XML导入/导出容易； &lt;br /&gt;拼写检查； &lt;br /&gt;产品新增特性 &lt;br /&gt;RTF所见即所得模板编辑器和报告生成器&amp;#8212;&amp;#8212;EA 增强了其企业版和专业版中RTF文档生成功能，采用一个模板驱动方式生成RTF文档，允许用户在模型的元素层面上对其文档的外观、内容等进行定制。&lt;br /&gt;l&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 版本控制改进&amp;#8212;&amp;#8212;对版本控件作了明显改进，支持对嵌套软件包的控制，这样，在导入基版本控制软件包时，就不会再覆盖嵌套软件包了。大型文件加载时间显著缩短，同时对AccuRev和Perforce的支持也得到改进。&lt;br /&gt;l&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 基线支持&amp;#8212;&amp;#8212;企业版提供新的基线函数，在当前模型中，允许用户将一个完整的软件包分支保存为一个压缩的XMI文件。通过该基线函数，用户可以对当前软件包和存储的基线软件包进行比较。&lt;br /&gt;l&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MDA风格转换&amp;#8212;&amp;#8212;EA专业版和企业版中提供MDA风格转换功能。MDA转换通过一个模板驱动方法将PIM（平台独立模型）元素转换为PSM（平台相关模型）元素。&lt;br /&gt;比较工具（Diff）&amp;#8212;&amp;#8212;专业版和企业版提供该功能，允许用户对模型结构体系和保存的XMI进行对照比较。包括以下比较内容：基线函数创建的基线、保存在硬盘上的EA XMI文件、由EA XMI控制的版本。&lt;br /&gt;l&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 导入二进制模块&amp;#8212;&amp;#8212;EA专业版和企业版允许对Java Archive (.jar), . NET PE Files* (.exe, .dll)和Intermediate Language (.il)二进制模块进行反向工程。&lt;br /&gt;l&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  构建和运行&amp;#8212;&amp;#8212;EA Professional 和  Corporate版本支持该功能，为开发人员提供集成工具，将UML开发和建模同源代码开发和编译相集成。能够使用MDA变换从源类中生成nUnit和  jUnit测试类，并将测试过程直接集成到EA IDE中，如今还可以将UML和建模集成到构建/测试/运行/部署程序中。 &lt;br /&gt;l&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MOF&amp;#8212;&amp;#8212;在MOF 1.3和1.4标准下，允许向XMI导出包。向包中分配固定类型的元模型，可以创建MOF模型。MOF模型还可以输出为MOF 1.3或1.4 XMI文件规范。&lt;br /&gt;l&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   工程商讨论坛&amp;#8212;&amp;#8212;确保整个团队始终处于最新状态。使用商讨论坛可以讨论您工程的开发和进度，同时为了讨论方便，还可以将工程内容进行分类，并制定标题。用 户可以针对某个标题发出消息线程或响应消息线程。在论坛消息板中，您可以链接到图表的不同元素。在当前模型下还可以使用其他模型的商讨论坛。&lt;br /&gt;l&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Web服务&amp;#8212;&amp;#8212;支持对W3C Web服务定义语言（WSDL）的前向和反向工程。支持对WSDL文件的建模、生成、输入操作。&lt;br /&gt;l&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XML架构（XSD）&amp;#8212;&amp;#8212;支持对W3C XML架构（WSDL）的前向和反向工程。支持对XML架构的建模、生成、输入操作。&lt;br /&gt;The  Corporate Edition定位于大规模开发组。它支持Desktop和  Professional版本的所有功能，如连接到SQL服务器、MySQL, oracle9i, PostgreSQL,  MSDE，Adaptive Server Anywhere 和 MS Access  backends以实现知识库共享。它还支持用户安全、用户注册、用户组、复制和元素的用户级同步。该版本还包含对MDG技术的支持，而且用户还也可以获 得更多的资源。 &lt;br /&gt;The Professional  Edition定位于工作组和开发人员。它支持通过复制和网络文件实现项目共享。专业版还含有ActiveX接口，可以查询EA项目、以XMI格式提取信 息。它完全支持代码导入/导出，模型元素和源代码的同步以及对 SQL Server, MySQL,  oracle9i的逆向工程，而且包含对MDG技术的支持。 &lt;br /&gt;The Desktop Edition是为个体用户准备的，可以生成UML分析和设计模型。除代码工程（源代码和DLL导入/导出） 、Active-X接口和多用户模型共享之外，它可以实现专业版的所有功能。&lt;br /&gt; &lt;br /&gt;二．&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 创建工程&lt;br /&gt; &lt;br /&gt;依次点击&amp;#8220;File-&amp;gt;New Project-&amp;gt;命名保存-&amp;gt;在&amp;#8220;Select model&amp;#8221;中选择需要创建的类型（如图-1）-&amp;gt;单击&amp;#8220;OK&amp;#8221;确认，得到界面如图-2所示&lt;br /&gt;&lt;img src="http://www.divsun.com/config/ewebeditor/UploadFile/2008525161423697.jpg" alt="" border="0" /&gt;&lt;br /&gt;图-1&lt;br /&gt; &lt;br /&gt;Business Process&lt;br /&gt;业务流程&lt;br /&gt;Requirements&lt;br /&gt;需求分析&lt;br /&gt;Use Case&lt;br /&gt;用例&lt;br /&gt;Domain Model&lt;br /&gt;领域模型&lt;br /&gt;Class&lt;br /&gt;类设计&lt;br /&gt;Database&lt;br /&gt;数据库设计&lt;br /&gt;Component&lt;br /&gt;组件&lt;br /&gt;Deployment&lt;br /&gt;部署&lt;br /&gt;Testing&lt;br /&gt;测试&lt;br /&gt;Maintenance&lt;br /&gt;维护&lt;br /&gt;Project Management&lt;br /&gt;项目管理&lt;br /&gt;User Interface&lt;br /&gt;用户接口&lt;br /&gt;表-1&lt;br /&gt; &lt;br /&gt;&lt;img style="cursor: pointer;" title="在新窗口打开图片" src="http://www.divsun.com/config/ewebeditor/UploadFile/2008525161458109.jpg" alt="" border="0" /&gt;&lt;br /&gt; &lt;br /&gt;图-2&lt;br /&gt; &lt;br /&gt;三．&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 一些基本的通用设置&lt;br /&gt; &lt;br /&gt;3.1 设置默认代码环境&lt;br /&gt;依次点击：&amp;#8220;Tool-&amp;gt;Options-Source Code Engineering-&amp;gt;Default Language For Code Generation-&amp;gt;C#&amp;#8221;如图3所示：&lt;br /&gt;&lt;img style="cursor: pointer;" title="在新窗口打开图片" src="http://www.divsun.com/config/ewebeditor/UploadFile/2008525161628552.jpg" alt="" border="0" /&gt;&lt;br /&gt;图-3&lt;br /&gt;单击&amp;#8220;Close&amp;#8221;确认退出。&lt;br /&gt; &lt;br /&gt;3.2 设置默认数据库&lt;br /&gt; &lt;br /&gt;依次点击：&amp;#8220;Tool-&amp;gt;Options- Code Editors-&amp;gt;Default Database-&amp;gt;SQL Server 2005&amp;#8221;&lt;br /&gt;如图4所示：&lt;br /&gt;&lt;img style="cursor: pointer;" title="在新窗口打开图片" src="http://www.divsun.com/config/ewebeditor/UploadFile/2008525161947585.jpg" alt="" border="0" /&gt;&lt;br /&gt;图-4&lt;br /&gt; &lt;br /&gt;四．&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Class模型&lt;br /&gt; &lt;br /&gt;4.1.创建&amp;#8220;Class&amp;#8221;模型&lt;br /&gt; &lt;br /&gt;依次点击&amp;#8220;File-&amp;gt;New Project-&amp;gt;命名保存-&amp;gt;在&amp;#8220;Select model&amp;#8221;中勾选&amp;#8220;Class&amp;#8221;（如图-5）&lt;br /&gt;&lt;img src="http://www.divsun.com/config/ewebeditor/UploadFile/2008525162020713.jpg" alt="" border="0" /&gt;&lt;br /&gt; &lt;br /&gt;图-5&lt;br /&gt; &lt;br /&gt;最后单击&amp;#8220;确定&amp;#8221;进入设计界面。&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;在设计界面的左边是工具箱（如图6）&lt;br /&gt;&lt;img src="http://www.divsun.com/config/ewebeditor/UploadFile/20085252354734.jpg" alt="" border="0" /&gt;&lt;br /&gt; &lt;br /&gt;图-6&lt;br /&gt; &lt;br /&gt;Class Elements&lt;br /&gt;Package&lt;br /&gt;包&lt;br /&gt;Class&lt;br /&gt;类&lt;br /&gt;Interface&lt;br /&gt;接口&lt;br /&gt;Enumeration&lt;br /&gt;枚举&lt;br /&gt;Table&lt;br /&gt;表&lt;br /&gt;Signal&lt;br /&gt;对象通信信号的描述&lt;br /&gt;Association&lt;br /&gt;关联&lt;br /&gt;Class Relationships&lt;br /&gt;Associate&lt;br /&gt;实现&lt;br /&gt;Generalize&lt;br /&gt;泛化&lt;br /&gt;Compose&lt;br /&gt;组成&lt;br /&gt;Associate Class&lt;br /&gt;关联类&lt;br /&gt;Assembly&lt;br /&gt;程序集&lt;br /&gt;Realize&lt;br /&gt;实现&lt;br /&gt;Nesting&lt;br /&gt;嵌套&lt;br /&gt;Package Merge&lt;br /&gt;包的合并&lt;br /&gt;Package Import&lt;br /&gt;包的导入&lt;br /&gt;Common&lt;br /&gt;Note&lt;br /&gt;注释&lt;br /&gt;Constraint&lt;br /&gt;约束条件&lt;br /&gt;Document&lt;br /&gt;文档：附加文档附件&lt;br /&gt;Artifact&lt;br /&gt;人工：表示任意的系统任意的信息块&lt;br /&gt;Requirement&lt;br /&gt;需求描述&lt;br /&gt;Issue&lt;br /&gt;问题描述&lt;br /&gt;Change&lt;br /&gt;变化描述&lt;br /&gt;Boundary&lt;br /&gt;分界线&lt;br /&gt;Dependency&lt;br /&gt;依赖关系&lt;br /&gt;Realize&lt;br /&gt;实现&lt;br /&gt;Trace&lt;br /&gt;追踪&lt;br /&gt;Information Flow&lt;br /&gt;数据流&lt;br /&gt;Note Link&lt;br /&gt;注释链接&lt;br /&gt;表-2&lt;br /&gt; &lt;br /&gt;4.2.为模型中创建的&amp;#8220;Class&amp;#8221;对象使用别名&lt;br /&gt;首先在工具箱中点选&lt;br /&gt;&lt;img src="http://www.divsun.com/config/ewebeditor/UploadFile/200852523555104.jpg" alt="" border="0" /&gt;&lt;br /&gt; ，然后在合适的位置左键单击确定，之后弹出属性窗口（如图7所示）&lt;br /&gt;&lt;img src="http://www.divsun.com/config/ewebeditor/UploadFile/200852523522829.jpg" alt="" border="0" /&gt;&lt;br /&gt;图-7&lt;br /&gt;在&amp;#8220;Name&amp;#8221;栏中输入Class 的名称&amp;#8220;Test&amp;#8221;，然后在&amp;#8220;Alias&amp;#8221;中输入一个别名&amp;#8220;测试&amp;#8221;。其他相应设置好之后，确定退出属性窗口。&lt;br /&gt; &lt;br /&gt;我们发现，在默认情况下&amp;#8220;Class&amp;#8221;所显示的名称是Test，但如果我们需要显示别名的时候，我们需要进行以下设置；&lt;br /&gt;在类Test所在的包中找到class diagram，点击右键然后选择&amp;#8220;Propreties&amp;#8230;&amp;#8221;进入如图8所示的窗口；&lt;br /&gt;&lt;img style="cursor: pointer;" title="在新窗口打开图片" src="http://www.divsun.com/config/ewebeditor/UploadFile/200852523618647.jpg" alt="" border="0" /&gt;&lt;br /&gt;图-8&lt;br /&gt;选择&amp;#8220;Diagram&amp;#8221;，进入如图9所示的窗口；&lt;br /&gt;&lt;img style="cursor: pointer;" title="在新窗口打开图片" src="http://www.divsun.com/config/ewebeditor/UploadFile/200852523637437.jpg" alt="" border="0" /&gt;&lt;br /&gt;图-9&lt;br /&gt;勾选&amp;#8220;Use Alias if Available&amp;#8221;，别名的显示即设置完成。&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;五．&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 代码的生成&lt;br /&gt; &lt;br /&gt;5.1. 把整个包的设计类生成C＃格式代码&lt;br /&gt;依次单击&amp;#8220;Project-&amp;gt;Source Code Engineering-&amp;gt;Generate Package Source Code&amp;#8230;（如图10所示）&amp;#8221;&lt;br /&gt;&lt;img style="cursor: pointer;" title="在新窗口打开图片" src="http://www.divsun.com/config/ewebeditor/UploadFile/20085252372681.jpg" alt="" border="0" /&gt;&lt;br /&gt;图-10&lt;br /&gt;进入如图11所示界面：&lt;br /&gt;&lt;img style="cursor: pointer;" title="在新窗口打开图片" src="http://www.divsun.com/config/ewebeditor/UploadFile/200852523728227.jpg" alt="" border="0" /&gt;&lt;br /&gt;图-11&lt;br /&gt;点击&amp;#8220;Generate&amp;#8221;，将包中所有的类成批转换为C＃文件。&lt;br /&gt; &lt;br /&gt;5.2.单个自动生成C＃代码&lt;br /&gt;右键单击需要转换为C＃文件的&amp;#8220;Class&amp;#8221;，在菜单中选择&amp;#8220;Generate Code&amp;#8230;&amp;#8221;或者使用快捷键&amp;#8220;F11&amp;#8221;，弹出如图12所示菜单：&lt;br /&gt;&lt;img style="cursor: pointer;" title="在新窗口打开图片" src="http://www.divsun.com/config/ewebeditor/UploadFile/200852523747495.jpg" alt="" border="0" /&gt;&lt;br /&gt;图-12&lt;br /&gt;单击图中1的位置，选择将要生成文件的存储路径，然后在2的位置选择要生成什么语言的文件（在此我们点击下拉菜单选择C＃），最后点击3位置的&amp;#8220;Generate&amp;#8221;生成。&lt;br /&gt; &lt;br /&gt;六．&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 设计模型与生成的代码同步&lt;br /&gt; &lt;br /&gt;当生成了C＃代码之后，接下来我们就将设计模型和生成的代码同步，步骤如下：&lt;br /&gt;鼠标右键单击需要进行代码同步的对象，选择&amp;#8220;Synchronize Model With Code&amp;#8230;&amp;#8221;或者使用快捷键&amp;#8220;F7&amp;#8221;，弹出如图13所示的对话框：&lt;br /&gt;&lt;img src="http://www.divsun.com/config/ewebeditor/UploadFile/20085252385368.jpg" alt="" border="0" /&gt;&lt;br /&gt;图-13&lt;br /&gt;单击&amp;#8220;是&amp;#8221;，则我们就完成了生成的代码与设计模型进行了同步。&lt;br /&gt; &lt;br /&gt;七．&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 数据库模型，需求模型，组件，部署&lt;br /&gt; &lt;br /&gt;7.1. 建立数据表；&lt;br /&gt;依次点击&amp;#8220;File-&amp;gt;New Project&amp;#8230;-&amp;gt;输入一个名称后保存-&amp;gt;在右边选中Database（如图-14所示）&amp;#8221;&lt;br /&gt;&lt;img src="http://www.divsun.com/config/ewebeditor/UploadFile/200852523828598.jpg" alt="" border="0" /&gt;&lt;br /&gt;图-14&lt;br /&gt;最后点击&amp;#8220;OK&amp;#8221;确认进入设计界面， &amp;#8220;工程窗口&amp;#8221;如图15所示：&lt;br /&gt;&lt;img src="http://www.divsun.com/config/ewebeditor/UploadFile/200852523844517.jpg" alt="" border="0" /&gt;&lt;br /&gt;图-15&lt;br /&gt;工具栏及工具栏中的工具如图6及表2所示.&lt;br /&gt; &lt;br /&gt;7.2.建立数据表&lt;br /&gt;在&amp;#8220;工具箱&amp;#8221;中单击&lt;br /&gt;&lt;img src="http://www.divsun.com/config/ewebeditor/UploadFile/20085252396294.jpg" alt="" border="0" /&gt;&lt;br /&gt; ，然后将鼠标移入工作区域，此时鼠标变成 &lt;br /&gt;&lt;img src="http://www.divsun.com/config/ewebeditor/UploadFile/200852523925196.jpg" alt="" border="0" /&gt;&lt;br /&gt;状，单击鼠标，出现如图16所示的窗口.&lt;br /&gt;&lt;img src="http://www.divsun.com/config/ewebeditor/UploadFile/200852523937288.jpg" alt="" border="0" /&gt;&lt;br /&gt;图-16&lt;br /&gt; &lt;br /&gt;在进行一些表基本的设置（如表的命名&amp;#8220;Name&amp;#8221;等等）后，单击&amp;#8220;Table Detail&amp;#8221;进入表字段的设计（图17），&lt;br /&gt;&lt;img src="http://www.divsun.com/config/ewebeditor/UploadFile/2008525231035312.jpg" alt="" border="0" /&gt;&lt;br /&gt;图-17&lt;br /&gt; &lt;br /&gt;单击图14中红圈标识的&amp;#8220;Columns/Attributes&amp;#8221;进入表字段的设置。如图18所示。&lt;br /&gt;&lt;img style="cursor: pointer;" title="在新窗口打开图片" src="http://www.divsun.com/config/ewebeditor/UploadFile/2008525231056467.jpg" alt="" border="0" /&gt;&lt;br /&gt;图-18&lt;br /&gt;设置表字段名称&amp;#8220;Name&amp;#8221;，数据类型&amp;#8220;Data Type&amp;#8221;，及主键&amp;#8220;Primary Key&amp;#8221;，是否为空&amp;#8220;Not Null&amp;#8221;，等等，单击&amp;#8220;Save&amp;#8221;保存，然后单击&amp;#8220;New&amp;#8221;新建一个，就这样逐个设置表的字段。&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt; &lt;br /&gt;八．&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 文档的生成&lt;br /&gt; &lt;br /&gt;8.1.Text文档的生成&lt;br /&gt;依次单击&amp;#8220;Project-&amp;gt;Documentation-&amp;gt;Rich Text Format(RTF) Report&amp;#8230;（如图19）&amp;#8221;或直接使用快捷键&amp;#8220;F8&amp;#8221;&lt;br /&gt;&lt;img style="cursor: pointer;" title="在新窗口打开图片" src="http://www.divsun.com/config/ewebeditor/UploadFile/2008525231118273.jpg" alt="" border="0" /&gt;&lt;br /&gt;图-19&lt;br /&gt;在&amp;#8220;Output to file&amp;#8221;后面单击，选择Text文档的生成路径，而后即可。&lt;br /&gt; &lt;br /&gt;8.2.Html文档的生成&lt;br /&gt;依次单击&amp;#8220;Project-&amp;gt;Documentation-&amp;gt;HTML Report&amp;#8230;（如图16）&amp;#8221;或直接使用快捷键&amp;#8220;Shift+F8&amp;#8221;，弹出图20所示窗口；&lt;br /&gt;&lt;img style="cursor: pointer;" title="在新窗口打开图片" src="http://www.divsun.com/config/ewebeditor/UploadFile/2008525231136872.jpg" alt="" border="0" /&gt;&lt;br /&gt;图-20&lt;br /&gt;相关设置后，点击&amp;#8220;Generate&amp;#8221;生成即可。&lt;br /&gt; &lt;br /&gt;九．&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 将包导入成XML形式&lt;br /&gt; &lt;br /&gt;依次单击&amp;#8220;Project-&amp;gt;XML Schema-&amp;gt;Import XML Schema&amp;#8221;如图21所示&lt;br /&gt;&lt;img style="cursor: pointer;" title="在新窗口打开图片" src="http://www.divsun.com/config/ewebeditor/UploadFile/2008525231159405.jpg" alt="" border="0" /&gt;&lt;br /&gt;图-21&lt;br /&gt;在&amp;#8220;Filename&amp;#8221;后面单击确定生成的XML文档的名称及路径，然后单击&amp;#8220;Import&amp;#8221;即可&lt;br /&gt; &lt;br /&gt;十．&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 画图的线的弯曲，自动布局，改变线的连接点的方法&lt;br /&gt; &lt;br /&gt;首先在&amp;#8220;活动图&amp;#8221;中对&amp;#8220;实线&amp;#8221;点击右键（必须是实线，虚线不起作用），然后点击&amp;#8220;Set Line Style&amp;#8221;，而后&amp;#8220;Bezier&amp;#8221;，拖动中间的点调整线的弯曲。&lt;br /&gt; &lt;br /&gt;Auto Routing(自动布局的方式)&lt;br /&gt; &lt;br /&gt;Direct（改变线的连接点）&lt;br /&gt; &lt;br /&gt;十一．&amp;nbsp;&amp;nbsp; 活动图及时序图的绘制&lt;br /&gt;11.1.活动图的绘制&lt;br /&gt;在已建立的&amp;#8220;Package&amp;#8221;上右键单击-&amp;gt;New&amp;#8230;-&amp;gt;New Diagram&amp;#8230;-&amp;gt;在弹出的窗口左边选择&amp;#8220;UML Behavioral&amp;#8221;(如图22所示)&lt;br /&gt;&lt;img style="cursor: pointer;" title="在新窗口打开图片" src="http://www.divsun.com/config/ewebeditor/UploadFile/2008525231226264.jpg" alt="" border="0" /&gt;&lt;br /&gt;图22&lt;br /&gt;在&amp;#8220;New Diagram&amp;#8221;的右边&amp;#8220;Diagram Types&amp;#8221;窗口中选择&amp;#8220;Activity&amp;#8221;，最后单击OK保存退出。&lt;br /&gt;此时，我们发现&amp;#8220;Project Browser&amp;#8221;窗口中增加了一个如图23所示的对象&amp;#8220;Class Medel&amp;#8221;。&lt;br /&gt;&lt;img src="http://www.divsun.com/config/ewebeditor/UploadFile/2008525231244331.jpg" alt="" border="0" /&gt;&lt;br /&gt;图-23&lt;br /&gt;在左边的&amp;#8220;Toolbox&amp;#8221;中我们看到相关的工具。（如图24及表3所示）&lt;br /&gt;&lt;img src="http://www.divsun.com/config/ewebeditor/UploadFile/2008525231256255.jpg" alt="" border="0" /&gt;&lt;br /&gt;图-24&lt;br /&gt;Activity&lt;br /&gt;Activity&lt;br /&gt;活动状态&lt;br /&gt;Structured Activity&lt;br /&gt;嵌套活动&lt;br /&gt;Action&lt;br /&gt;动作&lt;br /&gt;Partition&lt;br /&gt;分区&lt;br /&gt;Object&lt;br /&gt;对象&lt;br /&gt;Central Buffer Node&lt;br /&gt;中央缓冲节点&lt;br /&gt;Datastore&lt;br /&gt;数据存储&lt;br /&gt;Decision&lt;br /&gt;判断&lt;br /&gt;Merge&lt;br /&gt;合并&lt;br /&gt;Send&lt;br /&gt;发送&lt;br /&gt;Initial&lt;br /&gt;最初的&lt;br /&gt;Final&lt;br /&gt;最终的&lt;br /&gt;Flow Final&lt;br /&gt;流结束&lt;br /&gt;Region&lt;br /&gt;区域&lt;br /&gt;Exception&lt;br /&gt;异常&lt;br /&gt;Fork/Join&lt;br /&gt;并发&lt;br /&gt;Fork/Join&lt;br /&gt;并发&lt;br /&gt;Activity Relation&amp;#8230;&lt;br /&gt;Control Flow&lt;br /&gt;控制流&lt;br /&gt;Object Flow&lt;br /&gt;对象流&lt;br /&gt;Interrupt Flow&lt;br /&gt;中断流&lt;br /&gt;Common&lt;br /&gt;Note&lt;br /&gt;注释&lt;br /&gt;Constraint&lt;br /&gt;约束条件&lt;br /&gt;Document&lt;br /&gt;文档：附加文档附件&lt;br /&gt;Artifact&lt;br /&gt;人工：表示任意的系统任意的信息块&lt;br /&gt;Requirement&lt;br /&gt;需求描述&lt;br /&gt;Issue&lt;br /&gt;问题描述&lt;br /&gt;Change&lt;br /&gt;变化描述&lt;br /&gt;Boundary&lt;br /&gt;分界线&lt;br /&gt;Dependency&lt;br /&gt;依赖关系&lt;br /&gt;Realize&lt;br /&gt;实现&lt;br /&gt;Trace&lt;br /&gt;追踪&lt;br /&gt;Information Flow&lt;br /&gt;数据流&lt;br /&gt;Note Link&lt;br /&gt;注释链接&lt;br /&gt;表-3&lt;br /&gt; &lt;br /&gt;11.2.时序图的绘制&lt;br /&gt;在已建立的&amp;#8220;Package&amp;#8221;上右键单击-&amp;gt;New&amp;#8230;-&amp;gt;New Diagram&amp;#8230;-&amp;gt;在弹出的窗口左边选择&amp;#8220;UML Behavioral&amp;#8221;(如图25所示)&lt;br /&gt;&lt;img style="cursor: pointer;" title="在新窗口打开图片" src="http://www.divsun.com/config/ewebeditor/UploadFile/2008525231328454.jpg" alt="" border="0" /&gt;&lt;br /&gt;图-25&lt;br /&gt; &lt;br /&gt;在&amp;#8220;New Diagram&amp;#8221;的右边&amp;#8220;Diagram Types&amp;#8221;窗口中选择&amp;#8220;Sequence&amp;#8221;，最后单击OK保存退出。此时，我们发现&amp;#8220;Project Browser&amp;#8221;窗口中增加了一个如图26所示的对象&amp;#8220;Class Medel&amp;#8221;。&lt;br /&gt;&lt;img src="http://www.divsun.com/config/ewebeditor/UploadFile/2008525231350286.jpg" alt="" border="0" /&gt;&lt;br /&gt;图-26&lt;br /&gt;在左边的&amp;#8220;Toolbox&amp;#8221;中我们看到相关的工具。（如图27及表4所示）&lt;br /&gt;&lt;img src="http://www.divsun.com/config/ewebeditor/UploadFile/2008525231410620.jpg" alt="" border="0" /&gt;&lt;br /&gt;图-27&lt;br /&gt;Interaction Elements&lt;br /&gt;Actor&lt;br /&gt;角色&lt;br /&gt;Lifeline&lt;br /&gt;生命线&lt;br /&gt;Boundary&lt;br /&gt; &lt;br /&gt;Control&lt;br /&gt;控制&lt;br /&gt;Entity&lt;br /&gt;实体&lt;br /&gt;Fragment&lt;br /&gt;片段&lt;br /&gt;Endpoint&lt;br /&gt;端点&lt;br /&gt;Diagram Gate&lt;br /&gt; &lt;br /&gt;State/Continuation&lt;br /&gt;延时状态&lt;br /&gt;Interaction Relationships&lt;br /&gt;Message&lt;br /&gt;消息&lt;br /&gt;Self-Message&lt;br /&gt;安全消息&lt;br /&gt;Call&lt;br /&gt;呼叫&lt;br /&gt;Recursion&lt;br /&gt;递归&lt;br /&gt;Common&lt;br /&gt;Note&lt;br /&gt;注释&lt;br /&gt;Constraint&lt;br /&gt;约束条件&lt;br /&gt;Document&lt;br /&gt;文档：附加文档附件&lt;br /&gt;Artifact&lt;br /&gt;人工：表示任意的系统任意的信息块&lt;br /&gt;Requirement&lt;br /&gt;需求描述&lt;br /&gt;Issue&lt;br /&gt;问题描述&lt;br /&gt;Change&lt;br /&gt;变化描述&lt;br /&gt;Boundary&lt;br /&gt;分界线&lt;br /&gt;Dependency&lt;br /&gt;依赖关系&lt;br /&gt;Realize&lt;br /&gt;实现&lt;br /&gt;Trace&lt;br /&gt;追踪&lt;br /&gt;Information Flow&lt;br /&gt;数据流&lt;br /&gt;Note Link&lt;br /&gt;注释链接&lt;br /&gt;表-4&lt;br /&gt;11.3.如何添加注释&lt;br /&gt;在Toolbox中点击 &lt;br /&gt;&lt;img src="http://www.divsun.com/config/ewebeditor/UploadFile/2008525231433346.jpg" alt="" border="0" /&gt;&lt;br /&gt;图标，然后在Workspace中左键单击你所需要添加注释的方位。弹出如图-28所示的窗口；&lt;br /&gt;&lt;img src="http://www.divsun.com/config/ewebeditor/UploadFile/2008525231449710.jpg" alt="" border="0" /&gt;&lt;br /&gt;图-28&lt;br /&gt;在空白区域填入注释内容，然后左键单击&amp;#8220;OK&amp;#8221;返回到如图-29所示的效果即可。&lt;br /&gt;&lt;img src="http://www.divsun.com/config/ewebeditor/UploadFile/200852523150348.jpg" alt="" border="0" /&gt;&lt;br /&gt;图-29&lt;br /&gt; &lt;br /&gt;11.4.设置图中的字体样式&lt;br /&gt;当我们在图中建立好元素后，使用下列方式对元素进行样式改变。图-30是在11.2的时序图的基础上增加了几个元素。&lt;br /&gt;&lt;img style="cursor: pointer;" title="在新窗口打开图片" src="http://www.divsun.com/config/ewebeditor/UploadFile/2008525231545444.jpg" alt="" border="0" /&gt;&lt;br /&gt; &lt;br /&gt;图-30&lt;br /&gt; &lt;br /&gt;下面我们就来改变注释中的字体样式。&lt;br /&gt;鼠标选中注释对象，下图是选中注释对象的前后对比；&lt;br /&gt;&lt;img style="cursor: pointer;" title="在新窗口打开图片" src="http://www.divsun.com/config/ewebeditor/UploadFile/2008525231557424.jpg" alt="" border="0" /&gt;&lt;br /&gt; &lt;br /&gt;图-31&lt;br /&gt;&lt;img style="cursor: pointer;" title="在新窗口打开图片" src="http://www.divsun.com/config/ewebeditor/UploadFile/2008525231613618.jpg" alt="" border="0" /&gt;&lt;br /&gt; &lt;br /&gt;图-32&lt;br /&gt; &lt;br /&gt;11.5.将一个图的元素重新复制一份新的到其它图&lt;br /&gt; &lt;br /&gt;首先新建一个图，然后在Project Browser中使用鼠标左键点中需要复制的元素不放指导拖到新建的图中即可。 					&lt;/div&gt;&lt;img src="http://www.cnblogs.com/antony1029/aggbug/1934786.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/antony1029/archive/2011/01/13/1934786.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/antony1029/archive/2011/01/13/1934592.html</id><title type="text">Enterprise Architect 业务过程建模</title><summary type="text">出自：http://www.sparxsystems.cn/resources/business_process_model.html 介绍 比起业务分析与建模来，UML在过去与软件工程和系统设计的联系更加紧密。并且，UML2.X标准提供了丰富的行为模型，这对于过程、活动、及对每一个业务都重要的人与信息等的建模非常有用。 除标准的UML规范外，还有两个备受关注的UML扩展，它们进一步强化了对业务过程和相关结构的建模。第一个是业务过程建模标注，它已经广受欢迎，并迅速 成为业务过程建模与设计的新标准。第二个是  Eriksson-Penker  Profile，虽然不那么流行，但在可视化、业务过程</summary><published>2011-01-13T07:14:00Z</published><updated>2011-01-13T07:14:00Z</updated><author><name>antony.net</name><uri>http://www.cnblogs.com/antony1029/</uri></author><link rel="alternate" href="http://www.cnblogs.com/antony1029/archive/2011/01/13/1934592.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/antony1029/archive/2011/01/13/1934592.html"/><content type="html">&lt;div&gt;&lt;p&gt;&lt;strong&gt;出自：http://www.sparxsystems.cn/resources/business_process_model.html &lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;介绍&lt;/p&gt;                 &lt;p&gt;比起业务分析与建模来，UML在过去与软件工程和系统设计的联系更加紧密。并且，UML2.X标准提供了丰富的行为模型，这对于过程、活动、及对每一个业务都重要的人与信息等的建模非常有用。                &lt;/p&gt;                 &lt;p&gt;除标准的UML规范外，还有两个备受关注的UML扩展，它们进一步强化了对业务过程和相关结构的建模。第一个是业务过程建模标注，它已经广受欢迎，并迅速 成为业务过程建模与设计的新标准。第二个是  Eriksson-Penker  Profile，虽然不那么流行，但在可视化、业务过程间通信、以及企业（组织）内部的信息流方面，仍然是独一无二的。                &lt;/p&gt;                 &lt;p&gt;本文将对这两种扩展提供深入介绍，阐述如何在Enterprise  Architect 中使用它们以及他们所用的通用模型结构。                 &lt;/p&gt;                 &lt;p&gt;&lt;strong&gt;业务过程建模标注（BPMN）&lt;/strong&gt;&lt;/p&gt;                 &lt;p&gt;BPMN  定义了一种业务过程图（BPD），该图是基于一种专门绘制流程图技术，用于业务过程的图形化建模。无论是创建业务过程草图的业务分析师，还是负责实现这个 过程的技术开发人员，或者管理、监督业务过程的相关人员，所有的业务人员都容易理解这种标柱。                &lt;/p&gt;                 &lt;p&gt;一个BPMN 模型是由一组简单图构成，每一个图又包含一组图形元素。                 &lt;/p&gt;                 &lt;p&gt;&lt;strong&gt;流程元素&lt;/strong&gt;&lt;/p&gt;                 &lt;ol&gt;&lt;li&gt; 活动（Activity）：一个活动是业务过程中执行的一个作业，用圆角矩形表示。&lt;/li&gt;&lt;li&gt; 事件（Event）：一个事件是在业务过程的流程中发生的，并影响业务过程中活动的执行顺序与执行时间的事情。事件用带有不同边界的小圆表示，以区别初始事件（细实线）、中间事件（双实线）和终止事件（粗实线）。在图形内部显示图标以便于区分触发器和事件结果。&lt;/li&gt;&lt;li&gt; 关口（Gateway）：关口用来控制顺序流如何在过程内进行合并和分岔。关口可用来表示判断点，可以表示一个或多个路径在此处不能通过。关口也可以表示一条路径在此分岔。&lt;/li&gt;&lt;/ol&gt;                 &lt;ol&gt;&lt;li&gt; 顺序流：顺序流用来表示活动在业务过程中的执行顺序。顺序流用有实箭头的线表示。&lt;/li&gt;&lt;li&gt; 消息流：一个消息流用来表示两个实体之间的消息流向。实体用池来表示，消息用虚线在源端连接浅颜色的圆并在目标端连接箭头。&lt;/li&gt;&lt;li&gt; 关联：关联是用流对象将信息与制品联系起来。关联采用虚线表示并在目标端有或者没有箭头，根据需要而定。&lt;/li&gt;&lt;/ol&gt;                 &lt;p&gt;&lt;strong&gt;泳道 (分割)&lt;/strong&gt;&lt;/p&gt;                 &lt;ol&gt;&lt;li&gt; 泳池：表示一个业务过程中的参与者。一个参与者可能是业务实体或者角色。泳池表示了对业务过程的一种划分。&lt;/li&gt;&lt;li&gt; 泳道：是泳池的再划分，用于组织和分类泳池内的活动。&lt;/li&gt;&lt;/ol&gt;                 &lt;p&gt;&lt;strong&gt;过程要素&lt;/strong&gt;&lt;/p&gt;                 &lt;ol&gt;&lt;li&gt; 数据对象：一个数据对象对一个业务过程没有直接的影响，但提供信息给相关的过程。数据对象用一个上角折叠的矩形来表示。&lt;/li&gt;&lt;li&gt; 组：组提供了对过程内的元素进行分组的非正式手段，用虚线的矩形表示。&lt;/li&gt;&lt;li&gt; 注解：注解提供一种机制使得BPMN的模型建立者为BPMN模型的用户提供附加信息。它是用一个开口的矩形表示，注解文字写入其中。&lt;/li&gt;&lt;/ol&gt;                 &lt;p&gt;&lt;strong&gt;&lt;em&gt;BPMN&lt;/em&gt; 示例&lt;/strong&gt;&lt;/p&gt;                 &lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt;                   &lt;p&gt;&lt;strong&gt;例 1:&lt;/strong&gt;                   &lt;/p&gt;                 &lt;/blockquote&gt;                 &lt;p&gt;&lt;img src="http://www.sparxsystems.cn/images/screenshots/BPMNExample1.png" alt="Example 1" width="689" height="268" /&gt;                 &lt;/p&gt;                 &lt;p&gt;上面的图展示了BPMN的几个主要功能。特别是将一任务过程进行层次分解成较小的任务。以及能表示循环结构和外部事件干扰正常过程流程。                 &lt;/p&gt;                 &lt;p&gt;"上行活动"和"下行活动"是连接触发的中间事件，换句话说，是页面间承上启下的连接器。                 &lt;/p&gt;                 &lt;p&gt;"对每个供应商重复执行" 是一循环活动，它对每一个供应商重复执行所包含的三个活动，或者直到时间限制已到。固定在活动下边沿的终止事件是一时间事件触发器。                 &lt;/p&gt;                 &lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt;                   &lt;p&gt;&lt;strong&gt;例 2:&lt;/strong&gt;                   &lt;/p&gt;                 &lt;/blockquote&gt;                 &lt;p&gt;&lt;img src="http://www.sparxsystems.cn/images/screenshots/BPMNExample2.png" alt="Example 2" width="590" height="199" /&gt;                 &lt;/p&gt;                 &lt;p&gt;上面的图表示一个业务过程由一个事件开启，在本例中，一个消息触发器产生一个事件，该事件通知业务过程活动组处于活动状态。该图也显示一个由时间事件控制 的循环，并显示一个决策关口（在本例中是&amp;#8220;异或&amp;#8221;  决策关口）控制什么时候循环该结束。                 &lt;/p&gt;                 &lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt;                   &lt;p&gt;&lt;strong&gt;例 3:&lt;/strong&gt;                   &lt;/p&gt;                 &lt;/blockquote&gt;                 &lt;p&gt;&lt;img src="http://www.sparxsystems.cn/images/screenshots/BPMNExample3.png" alt="Example 3" width="390" height="336" /&gt;                 &lt;/p&gt;                 &lt;p&gt;该图例示使用泳池来表达过程间的交互以及使用消息流连接器来表示消息在泳池间进行传递的方法                 &lt;/p&gt;                 &lt;p&gt;&lt;strong&gt;Eriksson-Penker 业务建模 Profile&lt;/strong&gt;&lt;/p&gt;                 &lt;p&gt;本节介绍业务过程模型所使用的术语与图标。并简要介绍一些基本UML建模语言概念以及如何在EA的业务过程建模中如何使用它们。                &lt;/p&gt;                 &lt;p&gt;一个业务过程：                                  &lt;/p&gt;&lt;ol&gt;&lt;li&gt; 有一个目标 &lt;/li&gt;&lt;li&gt; 有指定的输入 &lt;/li&gt;&lt;li&gt; 有指定的输出 &lt;/li&gt;&lt;li&gt; 使用资源 &lt;/li&gt;&lt;li&gt; 有按某种顺序进行的一组活动 &lt;/li&gt;&lt;li&gt; 可能影响多个组织单元 ，造成横向组织影响&lt;/li&gt;&lt;li&gt; 为客户创造某种价值，客户可能是内部的，也可能是外部的。&lt;/li&gt;&lt;/ol&gt;                 &lt;p&gt;&lt;img src="http://www.sparxsystems.cn/images/screenshots/BusinessProcessModel.png" alt="Eriksson-Penker Business Modeling Profile" width="641" height="263" /&gt;                 &lt;/p&gt;                 &lt;p&gt;&lt;strong&gt;过程模型&lt;/strong&gt;&lt;/p&gt;                 &lt;p&gt;一个业务过程是一个活动的集合，用于为特定的客户或市场产生指定的输出。与产品所强调的&amp;#8220;过程是什么&amp;#8221;不同，业务过程强调作业在组织内部是如何进行的。指 定在不同时间和地点的作业活动顺序，带有一个开始和一个结束，并清楚地定义输入和输出：一个动作结构。                &lt;/p&gt;                 &lt;p&gt;始于对象信息供应链。供应链是指连接到过程的信息或对象在处理阶段没有被使用完。例如，订单模板可能重复使用，并提供特定样式的新订单。作为这个活动的一部分，这个模板不会更改和被消耗光。                 &lt;/p&gt;                 &lt;ul&gt;&lt;li&gt; 始于对象资源的供应链：  一个输入供应链是指所连接的对象或资源将在处理过程中被消耗。例如，当消费者的订单在被处理后，它们将标记为完成并签字，并且每个资源仅使用一次。 &lt;/li&gt;&lt;li&gt; 终于对象目标的目标链：  一个目标链是指连接到业务过程的对象描述业务过程的目标。目标是执行活动的业务宗旨。 &lt;/li&gt;&lt;li&gt; 对象流连接对象输出 &lt;/li&gt;&lt;li&gt; 始于事件的对象流：一个对象流连接是指在一个业务过程一些对象被传递。它强调对在实体之间或过程之间所传递信息的控制。 &lt;/li&gt;&lt;/ul&gt;                 &lt;p&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;                 &lt;p&gt;&lt;strong&gt;目标&lt;/strong&gt;&lt;/p&gt;                 &lt;p&gt;一个业务过程有一些定义完备的目标。这也是组织制定业务过程的原因所在。并且这些目标的制定代表组织的整体利益和满足组织的业务需要。                 &lt;/p&gt;                 &lt;p&gt;业务过程始于过程的目标链：一个目标链是指连接到业务过程的对象用于描述该过程的目标。目标是执行活动的宗旨。                 &lt;/p&gt;                 &lt;p&gt;&lt;strong&gt;信息&lt;/strong&gt;&lt;/p&gt;                 &lt;p&gt;业务过程使用信息执行和完成它们的活动。信息不象资源，在过程中是不可消费的，它被用来做过程转换。信息或许来自外部，或许来自客户，或来自内部组织，甚至是其它过程所产生。                 &lt;/p&gt;                 &lt;p&gt;连接到业务过程的信息项：一个供应链是指连接到过程的信息和对象在处理阶段不会被使用完。例如，订单模板可能一用再用，一提供某种特定类型的新订单。作为该活动的一部分，模板是不会改变或耗尽的。                 &lt;/p&gt;                 &lt;p&gt;&lt;strong&gt;输出&lt;/strong&gt;&lt;/p&gt;                 &lt;p&gt;典型地，一个业务过程将产生一个或多个多业务有价值的输出，输出可能供内部使用，也可能是为了满足外部需求。输出可能是物理对象（如一份报告或者发票）， 可是一种从原始资源到安排的转换，也可能是一个全体的业务处理结果，如完成处理一份订单请求。                 &lt;/p&gt;                 &lt;p&gt;一个业务过程的输出可能是下一个业务过程的输入，或者作为请求项或触发项来触发新活动。                 &lt;/p&gt;                 &lt;p&gt;&lt;strong&gt;资源&lt;/strong&gt;&lt;/p&gt;                 &lt;p&gt;资源是一个业务过程的输入，并且不像信息，在业务过程处理中要被消耗。例如：火车每天运行服务和实况记录，服务资源将随着处理记录火车运行时刻的不断进行而被用完。                 &lt;/p&gt;                 &lt;p&gt;连接到业务过程的资源：一个输入连接是指所连接的对象或资源在处理过程中被消耗。例如：当消费者的订单在被处理后，它们将标记为完成并签字，并且每个资源（订单）仅使用一次。                 &lt;/p&gt;                 &lt;p&gt;&lt;/p&gt;                 &lt;p&gt;&lt;strong&gt;附加资源&lt;/strong&gt;&lt;/p&gt;                 &lt;p&gt;&lt;strong&gt;Enterprise Architect 资源&lt;/strong&gt;&lt;/p&gt;                 &lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt;                   &lt;p&gt;Enterprise Architect评定指南:&lt;br /&gt;                     &lt;a href="http://www.sparxsystems.cn/downloads/whitepapers/enterprise_architect_reviewer_guide_cn.pdf"&gt;http://www.sparxsystems.cn/downloads/whitepapers/enterprise_architect_reviewer_guide_cn.pdf &lt;/a&gt;                   &lt;/p&gt;                   &lt;p&gt;Enterprise Architect 视频观看:&lt;br /&gt;                     &lt;a href="http://www.sparxsystems.com/resources/demos/eaoverview/index.html"&gt;http://www.sparxsystems.com/resources/demos/eaoverview/index.html&lt;/a&gt;                   &lt;/p&gt;                 &lt;/blockquote&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/antony1029/aggbug/1934592.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/antony1029/archive/2011/01/13/1934592.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/antony1029/archive/2011/01/10/1932209.html</id><title type="text">不同浏览器处理后退的一些异同</title><summary type="text">以前在测试自己写的webim时发现firefox有一个很人性化的特性：在页面上跟别人聊天的时候如果不小心点到了本页打开的链接，只要点一下 Firefox的后退按钮，就会退后到之前的页面，可以接着聊。也就是说在firefox中点击后退，原来页面的状态会还原，包括JS改变的DOM结构也 会保持。我们用下面的代码来测试一些常见的浏览器是怎么处理后退的。测试的浏览器有IE8beta2、Firefox3.0.1、Flock1.2.4(Firefox2.0.0.16内核)、Safari3.1(window版)、Opera9.60。&amp;lt;a href="http://www.baidu.com"&amp;gt;百度&amp;lt;/a&amp;gt;&amp;lt;</summary><published>2011-01-10T09:41:00Z</published><updated>2011-01-10T09:41:00Z</updated><author><name>antony.net</name><uri>http://www.cnblogs.com/antony1029/</uri></author><link rel="alternate" href="http://www.cnblogs.com/antony1029/archive/2011/01/10/1932209.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/antony1029/archive/2011/01/10/1932209.html"/><content type="html">&lt;div&gt;&#xD;
&lt;div&gt;&#xD;
&lt;p&gt;以前在测试自己写的webim时发现firefox有一个很人性化的特性：在页面上跟别人聊天的时候如果不小心点到了本页打开的链接，只要点一下 Firefox的后退按钮，就会退后到之前的页面，可以接着聊。也就是说在firefox中点击后退，原来页面的状态会还原，包括JS改变的DOM结构也 会保持。&lt;/p&gt;&#xD;
&lt;p&gt;我们用下面的代码来测试一些常见的浏览器是怎么处理后退的。测试的浏览器有IE8beta2、Firefox3.0.1、Flock1.2.4(Firefox2.0.0.16内核)、Safari3.1(window版)、Opera9.60。&lt;/p&gt;&#xD;
&lt;div&gt;&#xD;
&lt;div&gt;&lt;span style="color: Olive;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: Green;"&gt;a&lt;/span&gt; &lt;span style="color: #00008b;"&gt;href&lt;/span&gt;&lt;span style="color: Gray;"&gt;=&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Red;"&gt;http://www.baidu.com&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: Gray;"&gt;百度&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: Green;"&gt;a&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: Gray;"&gt;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: Green;"&gt;div&lt;/span&gt; &lt;span style="color: #00008b;"&gt;id&lt;/span&gt;&lt;span style="color: Gray;"&gt;=&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Red;"&gt;a1&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: Green;"&gt;div&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: Gray;"&gt;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: Green;"&gt;script&lt;/span&gt; &lt;span style="color: #00008b;"&gt;type&lt;/span&gt;&lt;span style="color: Gray;"&gt;=&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Red;"&gt;text/javascript&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: Gray;"&gt;&lt;br /&gt;&#xD;
&amp;nbsp; window.onload = function(){&lt;br /&gt;&#xD;
&amp;nbsp;&amp;nbsp; &amp;nbsp;alert("load");&lt;br /&gt;&#xD;
&amp;nbsp;&amp;nbsp; &amp;nbsp;var i = 1;&lt;br /&gt;&#xD;
&amp;nbsp;&amp;nbsp; &amp;nbsp;setInterval(function(){&lt;br /&gt;&#xD;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;document.getElementById("a1").innerHTML = i++;&lt;br /&gt;&#xD;
&amp;nbsp;&amp;nbsp; &amp;nbsp;},500);&lt;br /&gt;&#xD;
&amp;nbsp; };&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: Green;"&gt;script&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;测试结果：IE8点后退时会触发之前页面的window.onload事件，计数器回到初始状态重新计数；Opera9.6后退时不会触发前一个页 面的window.onload事件，但定时器停止运行；其它浏览器后退时都不会触发前一个页面的window.onload事件，定时器会接着之前的状 态继续计数。&lt;/p&gt;&#xD;
&lt;p&gt;结论：Firefox、Opera、Safari在这方面都做得比较人性化，完全的保留了页面unload时的状态，估计是直接从内存中读取缓存数 据，所以后退速度相当快；其中Opera9.6会导致计数器停止，可能是个bug。IE在后退时则会回到最初状态，之前JS改变的DOM不复存在。&lt;/p&gt;&#xD;
&lt;p&gt;如果想让非IE浏览器退后时也能触发window.onload事件呢？&lt;a href="http://www.firefoxanswer.com/firefox/672-firefoxanswer.html"&gt;这篇文章&lt;/a&gt;提到了解决方案。其实就是在页面是加入：&lt;/p&gt;&#xD;
&lt;div&gt;&#xD;
&lt;div&gt;&lt;span style="color: Teal;"&gt;window&lt;/span&gt;&lt;span style="color: Gray;"&gt;.&lt;/span&gt;&lt;span style="color: Blue;"&gt;onunload&lt;/span&gt;&lt;span style="color: Gray;"&gt; = &lt;/span&gt;&lt;span style="color: Green;"&gt;function&lt;/span&gt;&lt;span style="color: Olive;"&gt;(){}&lt;/span&gt;&lt;span style="color: Gray;"&gt;;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;经测试，此方法可行。对于其中的原理，&lt;a href="http://hi.baidu.com/jkisjk"&gt;JK&lt;/a&gt;给出了如下解释：&lt;/p&gt;&#xD;
&lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt;&#xD;
&lt;p&gt;FF／Safari等会努力做得很理想（完完全全的保持上次的unload时的信息），不过，如果他认为用户的代码（典型的是在onunload里）会破坏他的理想计划时，他就退一步，把&amp;#8220;后退&amp;#8221;当作&amp;#8220;后退＋reload&amp;#8221;。&lt;/p&gt;&#xD;
&lt;/blockquote&gt; &lt;/div&gt;&#xD;
&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt; &lt;p&gt;上次一位网友在我blog留言&lt;a href="http://www.qgy18.com/2008/09/browser_history_back/#comment-29"&gt;问到如何修正Ajax后退失效&lt;/a&gt;，这是在开发Ajax应用时很常见的需求。这篇文章就简单的介绍一下怎么解决这个问题。&lt;/p&gt; &lt;p&gt;首先我们要清楚后退按钮会失效的原因：使用Ajax时，页面通过XMLHttpRequest来更新内容，并没有Redirect，所以浏览器不会出现前进后退。这也是Ajax刚出来时遭到很多人批判的一个原因，其中细节可以参考这两篇文章《&lt;a href="http://www.johnniemanzari.com/archives/2005/05/ajax_99_bad.html"&gt;Ajax: 99% Bad&lt;/a&gt;》、《&lt;a href="http://tech.163.com/05/1009/18/1VL1PAP300091589.html"&gt;AJAX的七宗罪&lt;/a&gt;》。这个问题其实跟Ajax无关，不过Ajax的出现使得一个页面实现无刷新更新更容易，这个时候人们开始意识到，一个页面发生巨大改变而不能后退是一件很痛苦的事情。&lt;/p&gt; &lt;p&gt;要解决这个问题，就要控制浏览器的history，在页面发生改变时往浏览器历史里插入一条记录。但是出于安全的目的，JS是不能直接操作 history的。我们必须采用其他方法：IE中，在页面中插入一个隐藏的iframe，通过改变iframe的location或者DOM，都可以在主 窗口的history中产生新记录，详细研究可以参考&lt;a href="http://codinginparadise.org/weblog/2005/08/ajax-tutorial-tale-of-two-iframes-or.html"&gt;这篇文章&lt;/a&gt;；在其他浏览器(Firefox、Opera、Safari)中没有这么复杂，只需改变url就可以产生一条新的history记录，当然url不能乱改，要不页面就跳转走了，通常我们改变的是location.hash，也就是url&amp;#8220;#&amp;#8221;以后的部分。下面是具体实现：&lt;br /&gt; &lt;br /&gt; 首先在页面中放一个隐藏的iframe：&lt;/p&gt; &lt;div&gt;&lt;div&gt;&lt;span style="color: Olive;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: Green;"&gt;style&lt;/span&gt; &lt;span style="color: #00008b;"&gt;type&lt;/span&gt;&lt;span style="color: Gray;"&gt;=&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Red;"&gt;text/css&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt; &lt;span style="color: #00008b;"&gt;title&lt;/span&gt;&lt;span style="color: Gray;"&gt;=&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Red;"&gt;default&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt; &lt;span style="color: #00008b;"&gt;media&lt;/span&gt;&lt;span style="color: Gray;"&gt;=&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Red;"&gt;screen&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: Gray;"&gt;&lt;br /&gt;#history_iframe{position:absolute;top:0; left:0;width:1px; height:1px;visibility:hidden} &lt;br /&gt;&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: Green;"&gt;style&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: Gray;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: Green;"&gt;iframe&lt;/span&gt; &lt;span style="color: #00008b;"&gt;id&lt;/span&gt;&lt;span style="color: Gray;"&gt;=&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Red;"&gt;history_iframe&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt; &lt;span style="color: #00008b;"&gt;src&lt;/span&gt;&lt;span style="color: Gray;"&gt;=&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Red;"&gt;blank.html&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: Green;"&gt;iframe&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;blank.html的内容也很简单，放了一个div来存当前的hash：&lt;/p&gt; &lt;div&gt;&lt;div&gt;&lt;span style="color: Olive;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: Green;"&gt;html&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: Gray;"&gt;&lt;br /&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: Green;"&gt;head&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: Green;"&gt;title&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: Gray;"&gt;hack iframe&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: Green;"&gt;title&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: Green;"&gt;head&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: Gray;"&gt;&lt;br /&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: Green;"&gt;body&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: Green;"&gt;div&lt;/span&gt; &lt;span style="color: #00008b;"&gt;id&lt;/span&gt;&lt;span style="color: Gray;"&gt;=&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Red;"&gt;state&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: Green;"&gt;div&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: Green;"&gt;body&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: Gray;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: Green;"&gt;html&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;对不同浏览器采用不同方法控制history：&lt;/p&gt; &lt;div&gt;&lt;div&gt;&lt;span style="color: Green;"&gt;var&lt;/span&gt; &lt;span style="color: Blue;"&gt;isIE&lt;/span&gt;&lt;span style="color: Gray;"&gt; = &lt;/span&gt;&lt;span style="color: Green;"&gt;typeof&lt;/span&gt;&lt;span style="color: Olive;"&gt;(&lt;/span&gt;&lt;span style="color: Teal;"&gt;window&lt;/span&gt;&lt;span style="color: Gray;"&gt;.&lt;/span&gt;&lt;span style="color: Blue;"&gt;opera&lt;/span&gt;&lt;span style="color: Olive;"&gt;)&lt;/span&gt;&lt;span style="color: Gray;"&gt;!=&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Red;"&gt;object&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Gray;"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style="color: Teal;"&gt;window&lt;/span&gt;&lt;span style="color: Gray;"&gt;.&lt;/span&gt;&lt;span style="color: Teal;"&gt;navigator&lt;/span&gt;&lt;span style="color: Gray;"&gt;.&lt;/span&gt;&lt;span style="color: Blue;"&gt;userAgent&lt;/span&gt;&lt;span style="color: Gray;"&gt;.&lt;/span&gt;&lt;span style="color: Blue;"&gt;indexOf&lt;/span&gt;&lt;span style="color: Olive;"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Red;"&gt;MSIE&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Olive;"&gt;)&lt;/span&gt;&lt;span style="color: Gray;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: Maroon;"&gt;0&lt;/span&gt;&lt;span style="color: Gray;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: Green;"&gt;var&lt;/span&gt;&lt;span style="color: Gray;"&gt; $ = &lt;/span&gt;&lt;span style="color: Green;"&gt;function&lt;/span&gt;&lt;span style="color: Olive;"&gt;(&lt;/span&gt;&lt;span style="color: Blue;"&gt;s&lt;/span&gt;&lt;span style="color: Olive;"&gt;){&lt;/span&gt;&lt;span style="color: Green;"&gt;return&lt;/span&gt; &lt;span style="color: Teal;"&gt;document&lt;/span&gt;&lt;span style="color: Gray;"&gt;.&lt;/span&gt;&lt;span style="color: Blue;"&gt;getElementById&lt;/span&gt;&lt;span style="color: Olive;"&gt;(&lt;/span&gt;&lt;span style="color: Blue;"&gt;s&lt;/span&gt;&lt;span style="color: Olive;"&gt;)}&lt;/span&gt;&lt;span style="color: Gray;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: Green;"&gt;function&lt;/span&gt; &lt;span style="color: Blue;"&gt;update_status&lt;/span&gt;&lt;span style="color: Olive;"&gt;(&lt;/span&gt;&lt;span style="color: Blue;"&gt;str&lt;/span&gt;&lt;span style="color: Olive;"&gt;){&lt;/span&gt;&lt;span style="color: Gray;"&gt;&lt;br /&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="color: Green;"&gt;if&lt;/span&gt;&lt;span style="color: Olive;"&gt;(&lt;/span&gt;&lt;span style="color: Blue;"&gt;isIE&lt;/span&gt;&lt;span style="color: Olive;"&gt;){&lt;/span&gt;&lt;span style="color: Gray;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style="color: Green;"&gt;try&lt;/span&gt;&lt;span style="color: Olive;"&gt;{&lt;/span&gt;&lt;span style="color: Gray;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style="color: Green;"&gt;var&lt;/span&gt; &lt;span style="color: Blue;"&gt;doc&lt;/span&gt;&lt;span style="color: Gray;"&gt; = $&lt;/span&gt;&lt;span style="color: Olive;"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Red;"&gt;history_iframe&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Olive;"&gt;)&lt;/span&gt;&lt;span style="color: Gray;"&gt;.&lt;/span&gt;&lt;span style="color: Blue;"&gt;contentWindow&lt;/span&gt;&lt;span style="color: Gray;"&gt;.&lt;/span&gt;&lt;span style="color: Teal;"&gt;document&lt;/span&gt;&lt;span style="color: Gray;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style="color: Blue;"&gt;doc&lt;/span&gt;&lt;span style="color: Gray;"&gt;.&lt;/span&gt;&lt;span style="color: Blue;"&gt;open&lt;/span&gt;&lt;span style="color: Olive;"&gt;()&lt;/span&gt;&lt;span style="color: Gray;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style="color: Blue;"&gt;doc&lt;/span&gt;&lt;span style="color: Gray;"&gt;.&lt;/span&gt;&lt;span style="color: Blue;"&gt;write&lt;/span&gt;&lt;span style="color: Olive;"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;'&lt;/span&gt;&lt;span style="color: Red;"&gt;&amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&amp;lt;div id="state"&amp;gt;&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;'&lt;/span&gt;&lt;span style="color: Gray;"&gt;+&lt;/span&gt;&lt;span style="color: Blue;"&gt;str&lt;/span&gt;&lt;span style="color: Gray;"&gt;+&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;'&lt;/span&gt;&lt;span style="color: Red;"&gt;&amp;lt;/div&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;'&lt;/span&gt;&lt;span style="color: Olive;"&gt;)&lt;/span&gt;&lt;span style="color: Gray;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style="color: Blue;"&gt;doc&lt;/span&gt;&lt;span style="color: Gray;"&gt;.&lt;/span&gt;&lt;span style="color: Blue;"&gt;close&lt;/span&gt;&lt;span style="color: Olive;"&gt;()&lt;/span&gt;&lt;span style="color: Gray;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style="color: Olive;"&gt;}&lt;/span&gt;&lt;span style="color: Green;"&gt;catch&lt;/span&gt;&lt;span style="color: Olive;"&gt;(&lt;/span&gt;&lt;span style="color: Blue;"&gt;e&lt;/span&gt;&lt;span style="color: Olive;"&gt;){}&lt;/span&gt;&lt;span style="color: Gray;"&gt;&lt;br /&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="color: Olive;"&gt;}&lt;/span&gt;&lt;span style="color: Gray;"&gt;&lt;br /&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="color: Blue;"&gt;location&lt;/span&gt;&lt;span style="color: Gray;"&gt;.&lt;/span&gt;&lt;span style="color: Blue;"&gt;hash&lt;/span&gt;&lt;span style="color: Gray;"&gt; = &lt;/span&gt;&lt;span style="color: Blue;"&gt;str&lt;/span&gt;&lt;span style="color: Gray;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: Olive;"&gt;}&lt;/span&gt;&lt;span style="color: Gray;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;可以测试一下了：&lt;/p&gt; &lt;div&gt;&lt;div&gt;&lt;span style="color: Olive;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: Green;"&gt;button&lt;/span&gt; &lt;span style="color: #00008b;"&gt;onclick&lt;/span&gt;&lt;span style="color: Gray;"&gt;=&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Red;"&gt;update_status('test1')&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt; &lt;span style="color: Olive;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: Gray;"&gt;test1&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: Green;"&gt;button&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: Gray;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: Green;"&gt;button&lt;/span&gt; &lt;span style="color: #00008b;"&gt;onclick&lt;/span&gt;&lt;span style="color: Gray;"&gt;=&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Red;"&gt;update_status('test2')&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt; &lt;span style="color: Olive;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: Gray;"&gt;test2&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: Green;"&gt;button&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: Gray;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: Green;"&gt;button&lt;/span&gt; &lt;span style="color: #00008b;"&gt;onclick&lt;/span&gt;&lt;span style="color: Gray;"&gt;=&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Red;"&gt;update_status('test3')&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt; &lt;span style="color: Olive;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: Gray;"&gt;test3&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: Green;"&gt;button&lt;/span&gt;&lt;span style="color: Olive;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;上面就是控制浏览器history的基本原理，通过点击三个按钮，会往浏览器写入三条历史记录，这样尽管页面依旧没有刷新，但是浏览器的前进后退却 能开始工作了。剩下的工作很简单：利用一个定时器不停的检测状态是否发生变化（IE检测iframe里state的innerText；其他浏览器检测 location.hash），然后在检测到状态改变时调用相应的方法还原页面内容。限于篇幅，这一部分代码就不贴出来了。&lt;a href="http://www.qgy18.com/lab/history/"&gt;完整的实例在这里&lt;/a&gt;。&lt;/p&gt; &lt;/div&gt;&lt;/div&gt;&lt;div&gt;见：http://www.qgy18.com/2008/09/howto_control_browser_history/&lt;/div&gt;&amp;nbsp;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;div&gt;&lt;div&gt; &lt;p&gt;在Ajax编程时，经常需要从服务端获取数据。通过情况下，我们是直接把要传输的数据放在response正文中，再用responseText或者responseXML来得到内容。最近偶然发现，有时候也可以把数据放在header里，而且一些情况下这样做更有优势。&lt;/p&gt; &lt;p&gt;header是服务器以HTTP协议传送HTML资料到浏览器前所送出的字符串，在php中我们可以这么发送自定义header：&lt;/p&gt; &lt;div&gt;&lt;div&gt;&lt;span style="color: Blue;"&gt;header&lt;/span&gt;&lt;span style="color: Olive;"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Red;"&gt;author:Jerry Qu&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Olive;"&gt;)&lt;/span&gt;&lt;span style="color: Gray;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;然后在客户端，正常的创建一个Ajax请求，所不同的地方是callback中获取数据改成：&lt;/p&gt; &lt;div&gt;&lt;div&gt;&lt;span style="color: Green;"&gt;var&lt;/span&gt; &lt;span style="color: Blue;"&gt;a&lt;/span&gt;&lt;span style="color: Gray;"&gt; = &lt;/span&gt;&lt;span style="color: Green;"&gt;new&lt;/span&gt; &lt;span style="color: Blue;"&gt;Ajax&lt;/span&gt;&lt;span style="color: Olive;"&gt;()&lt;/span&gt;&lt;span style="color: Gray;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: Blue;"&gt;a&lt;/span&gt;&lt;span style="color: Gray;"&gt;.&lt;/span&gt;&lt;span style="color: Blue;"&gt;get&lt;/span&gt;&lt;span style="color: Olive;"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Red;"&gt;test.php&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Gray;"&gt;,&lt;/span&gt;&lt;span style="color: Green;"&gt;function&lt;/span&gt;&lt;span style="color: Olive;"&gt;(){&lt;/span&gt;&lt;span style="color: Gray;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style="color: Blue;"&gt;alert&lt;/span&gt;&lt;span style="color: Olive;"&gt;(&lt;/span&gt;&lt;span style="color: Blue;"&gt;a&lt;/span&gt;&lt;span style="color: Gray;"&gt;.&lt;/span&gt;&lt;span style="color: Blue;"&gt;req&lt;/span&gt;&lt;span style="color: Gray;"&gt;.&lt;/span&gt;&lt;span style="color: Blue;"&gt;getResponseHeader&lt;/span&gt;&lt;span style="color: Olive;"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Red;"&gt;author&lt;/span&gt;&lt;span style="color: #8b0000;"&gt;"&lt;/span&gt;&lt;span style="color: Olive;"&gt;))&lt;/span&gt;&lt;span style="color: Gray;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: Olive;"&gt;})&lt;/span&gt;&lt;span style="color: Gray;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;这样就能取到author的值了。&lt;/p&gt; &lt;p&gt;Javascript中跟response header有关的就两个方法：&lt;/p&gt; &lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt;&lt;p&gt;getResponseHeader&lt;br /&gt; 从响应信息中获取指定的http头&lt;br /&gt; 语法&lt;br /&gt; strValue = oXMLHttpRequest.getResponseHeader(bstrHeader);&lt;/p&gt; &lt;p&gt;getAllResponseHeaders&lt;br /&gt; 获取响应的所有http头&lt;br /&gt; 语法&lt;br /&gt; strValue = oXMLHttpRequest.getAllResponseHeaders(); &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;通过header可以传多少数据呢？我测试了一下，在firefox中如果超过10232个英文字符，客户端就取不到数据了，IE中测试了100W 个字符依然可以，所以基本还是够用的。另外，我也测试过一次发送1000个自定义header，IE和FF中都能正常取到值。如果你想得到http  header的更多信息，建议阅读&lt;a href="http://www.w3.org/Protocols/rfc2616/rfc2616.html"&gt;这篇文档&lt;/a&gt;。&lt;/p&gt; &lt;p&gt;这样做的优点呢？通常如果用Ajax来post数据，服务端返回json格式字符串的情况下，在浏览器中输入request的地址，用户就会看到那 堆奇怪的代码。在页面丢失js时这种现象很常见。但是把返回数据放在header里就不会有这个问题，反正header不会展示出来。正文里可以随意的放 些什么内容，哪怕是放一段自动转向JS也没关系，这样用户体验要稍好一些。&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.qgy18.com/lab/http-header/"&gt;查看本文实例&lt;/a&gt;&lt;/p&gt; &lt;/div&gt;&lt;/div&gt;&lt;/p&gt;&lt;p&gt;另见：http://www.w3help.org/zh-cn/causes/BX2004&#xD;
&lt;/p&gt;&lt;img src="http://www.cnblogs.com/antony1029/aggbug/1932209.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/antony1029/archive/2011/01/10/1932209.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/antony1029/archive/2010/12/31/1922993.html</id><title type="text">23个.NET开源项目</title><summary type="text">[转自Infoq] http://www.infoq.com/cn/news/2009/07/23-.NET-Open-Source-ProjectsEric Nelson是微软技术的传道者，也是MSDN UK Flash的技术编辑，他编写了一个列表，列出23个UK开发人员推荐的.NET开源项目。微软的一些开源项目如ASP.NET MVC、DLR、IronRuby、IronPython、MEF等则未列入其中。Eric尝试只包含一个测试框架和一个mock框架，即使有很多其它的项目同样入围。他列出了以下项目： [TEST] xUnit.net - 用于TDD的最好的测试框架之一。 [TEST] R</summary><published>2010-12-31T04:32:00Z</published><updated>2010-12-31T04:32:00Z</updated><author><name>antony.net</name><uri>http://www.cnblogs.com/antony1029/</uri></author><link rel="alternate" href="http://www.cnblogs.com/antony1029/archive/2010/12/31/1922993.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/antony1029/archive/2010/12/31/1922993.html"/><content type="html">&lt;div&gt;&#xD;
&lt;p&gt;[转自Infoq] http://www.infoq.com/cn/news/2009/07/23-.NET-Open-Source-Projects&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Eric Nelson是微软技术的传道者，也是&lt;a id="md-0" href="http://msdn.microsoft.com/en-us/aa570311.aspx" title="MSDN UK Flash"&gt;MSDN UK Flash&lt;/a&gt;的技术编辑，他编写了一个列表，列出23个UK开发人员推荐的&lt;a id="peq3" href="http://geekswithblogs.net/iupdateable/archive/2009/06/19/open-source-framework-and-library-recommendations.aspx" title=".NET开源项目"&gt;.NET开源项目&lt;/a&gt;。微软的一些开源项目如ASP.NET MVC、DLR、IronRuby、IronPython、MEF等则未列入其中。&lt;/p&gt;&#xD;
&lt;p&gt;Eric尝试只包含一个测试框架和一个mock框架，即使有很多其它的项目同样入围。他列出了以下项目：&lt;/p&gt;&#xD;
&lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt;&#xD;
&lt;ol&gt;&#xD;
     &lt;li&gt;&lt;a href="http://codeplex.com/xunit"&gt;[TEST] xUnit.net &lt;/a&gt;- 用于TDD的最好的测试框架之一。&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a href="http://ayende.com/projects/rhino-mocks.aspx"&gt;[TEST] RhinoMocks mocking framework&lt;/a&gt; - 通过创建mock使测试更简单。&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a href="http://white.codeplex.com/"&gt;[TEST] White for automation of Windows applications&lt;/a&gt; - 用代码驱动Windows程序来测试。&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a href="http://www.gallio.org/"&gt;[TEST] Gallio Automation Platform&lt;/a&gt; - 可以运行很多测试框架，如MSTest、xUnit、NUnit以及MbUnit。&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a href="http://fluentnhibernate.org/"&gt;[DATA] Fluent NHibernate&lt;/a&gt; - Fluent NHibernate让你可以用C#代码来设置映射关系。&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a href="http://structuremap.sourceforge.net/Default.htm"&gt;[OOP] StructureMap Dependency Injection/Inversion of Control &lt;/a&gt;- 解耦类和依赖。&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a href="http://mef.codeplex.com/"&gt;[OOP] Managed Extensibility Framework&lt;/a&gt; - 从静态编译程序转换到动态语言程序&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a href="http://code.google.com/p/sharp-architecture/"&gt;[APPFX] s#arp architecture for web applications&lt;/a&gt; - 用ASP.NET MVC和NHibernate快速开发web应用程序。&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a href="http://www.openrasta.com/"&gt;[APPFX] OpenRasta REST based framework for building web applications&lt;/a&gt; - 让你的程序拥有一个REST API接口。&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a href="http://www.lhotka.net/cslanet/"&gt;[APPFX] CSLA.NET Application Framework&lt;/a&gt; - .NET开发综合框架&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a href="http://www.springframework.net/"&gt;[APPFX] Spring.NET Application Framework&lt;/a&gt; - Web开发综合框架&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a href="http://www.mono-project.com/Main_Page"&gt;[RUNTIME] Mono enables .NET on Linux and Mac&lt;/a&gt; - 在Linux、BSD和OS X上使用.NET.&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a href="http://shfb.codeplex.com/"&gt;[UTIL] Sandcastle Help File Builder&lt;/a&gt; - 创建MSDN样式的文档。&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a href="http://easyhook.codeplex.com/"&gt;[HELPER] EasyHook for Windows API Hooking&lt;/a&gt; - 用托管代码扩展非托管代码。&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a href="http://www.codeplex.com/Json"&gt;[HELPER] Json.NET for working with JSON formatted data&lt;/a&gt; - 用一条语句序列化.NET对象。&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a href="http://exceldatareader.codeplex.com/"&gt;[HELPER] Excel Data Reader for Excel 97 to 2007&lt;/a&gt; - 将Excel文件读取到Dataset中&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a href="http://sharpsnmplib.codeplex.com/"&gt;[HELPER] #SNMP Library&lt;/a&gt; - 对SNMP的包装。&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a href="http://dotnetzip.codeplex.com/"&gt;[HELPER] DotNetZip Library&lt;/a&gt; - ZIP库和示例。&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a href="http://visioautomation.codeplex.com/"&gt;[HELPER] Visio Automation Library&lt;/a&gt; - 用C#、VB和其它语言驱动Viso&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a href="http://phpexcel.codeplex.com/"&gt;[HELPER] PHPExcel is not just about Excel!&lt;/a&gt; - 读写Execel 2007、PDF、HTML等文档的PHP类&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a href="http://www.codeplex.com/Argotic"&gt;[HELPER] Argotic Syndication Framework for RSS, Atom, OPML and more&lt;/a&gt; - 读写聚合内容的库&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a href="http://www.nlog-project.org/"&gt;[HELPER] NLog logging library&lt;/a&gt; -让你的程序易于调试 &lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a href="http://csharp-source.net/"&gt;A great directory of C# Open Source software&lt;/a&gt; - 一个非常好的库、框架和工具列表&lt;/li&gt;&#xD;
&lt;/ol&gt;&#xD;
&lt;/blockquote&gt;&#xD;
&lt;p&gt;还有一些&lt;a id="ohk:" href="http://geekswithblogs.net/iupdateable/archive/2009/06/08/suggestions-so-far-for-uk-msdn-flash-special-edition-on.aspx" title="提交的项目"&gt;提交的项目&lt;/a&gt;没有进入列表：&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
     &lt;li&gt;&lt;a target="_blank" href="http://www.castleproject.org/"&gt;Castle&lt;/a&gt;&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a target="_blank" href="http://mvccontrib.codeplex.com/"&gt;MvcContrib&lt;/a&gt;&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a target="_blank" href="http://subversion.tigris.org/"&gt;Subversion&lt;/a&gt;&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a target="_blank" href="http://nant.sourceforge.net/"&gt;Nant&lt;/a&gt;&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a target="_blank" href="http://logging.apache.org/log4net/"&gt;log4net&lt;/a&gt;&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a target="_blank" href="http://incubator.apache.org/lucene.net/"&gt;Lucene&lt;/a&gt;&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a target="_blank" href="http://cruisecontrol.sourceforge.net/"&gt;CruiseControl&lt;/a&gt;&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a target="_blank" href="http://mef.codeplex.com/"&gt;MEF&lt;/a&gt;&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a target="_blank" href="http://www.getpaint.net/"&gt;Paint.NET&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;一些使用&lt;a target="_blank" href="http://www.opensource.org/licenses/ms-pl.html"&gt;MS-PL&lt;/a&gt;许可证的微软项目:&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
     &lt;li&gt;&lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=53289097-73ce-43bf-b6a6-35e00103cb4b&amp;amp;displaylang=en"&gt;ASP.NET MVC Open Source&lt;/a&gt;&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a href="http://dlr.codeplex.com/"&gt;.NET Dynamic Language Runtime&lt;/a&gt; (DLR)&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a href="http://www.ironruby.net/"&gt;IronRuby&lt;/a&gt;&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a href="http://ironpython.codeplex.com/"&gt;IronPython&lt;/a&gt;&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a href="http://silverlight.codeplex.com/"&gt;Silverlight Toolkit&lt;/a&gt;&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a href="http://www.codeplex.com/AjaxControlToolkit"&gt;Ajax Control Toolkit&lt;/a&gt;&lt;/li&gt;&#xD;
     &lt;li&gt;&lt;a href="http://www.codeplex.com/MEF"&gt;Managed Extensibility Framework&lt;/a&gt; (MEF)&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;MS-PL是OSI认可的许可证，GNU也认可它为免费软件许可证，它允许任何人查看源代码、修改源代码并发布修改后的源代码。而且此许可证并不限 制代码只能运行在Windows上，这样就可以将代码移植到其它操作系统，例如Mono（Linux上的.NET）和Monolight（Linux上的 Silverlight）。MonoDevelop有一个&lt;a id="lth3" href="http://tirania.org/blog/archive/2009/Apr-02-1.html" title="插件"&gt;插件&lt;/a&gt;，可以用来在Linux和Mac OS X上开发ASP.NET MVC程序。&lt;/p&gt;&#xD;
&lt;/div&gt;&lt;img src="http://www.cnblogs.com/antony1029/aggbug/1922993.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/antony1029/archive/2010/12/31/1922993.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/antony1029/archive/2010/12/24/1916269.html</id><title type="text">mysql 存储过程 游标</title><summary type="text">DELIMITER $$DROP PROCEDURE IF EXISTS `SPLIT_SUB_STR0`$$CREATE DEFINER=`admin`@`%` PROCEDURE `SPLIT_SUB_STR0`(INOUT str VARCHAR(1000) , split0 VARCHAR(1) ,OUT split VARCHAR(20))BEGINDECLARE c INT;SET c=0;SET c = LENGTH(SUBSTRING_INDEX(str,split0,1));SET split = SUBSTRING(str, 1, c);SET str = SUBSTRIN</summary><published>2010-12-24T10:12:00Z</published><updated>2010-12-24T10:12:00Z</updated><author><name>antony.net</name><uri>http://www.cnblogs.com/antony1029/</uri></author><link rel="alternate" href="http://www.cnblogs.com/antony1029/archive/2010/12/24/1916269.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/antony1029/archive/2010/12/24/1916269.html"/><content type="html">&lt;div&gt;DELIMITER $$&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;DROP PROCEDURE IF EXISTS `SPLIT_SUB_STR0`$$&lt;br /&gt;&lt;br /&gt;CREATE DEFINER=`admin`@`%` PROCEDURE `SPLIT_SUB_STR0`(INOUT str VARCHAR(1000) , split0 VARCHAR(1) ,OUT split VARCHAR(20))&lt;br /&gt;BEGIN&lt;br /&gt;&amp;nbsp;DECLARE&amp;nbsp; c INT;&lt;br /&gt;&amp;nbsp;SET c=0;&lt;br /&gt;SET c = LENGTH(SUBSTRING_INDEX(str,split0,1));&lt;br /&gt;SET split = SUBSTRING(str, 1, c);&lt;br /&gt;SET str = SUBSTRING(str, c + 2 ); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; END$$&lt;br /&gt;&lt;br /&gt;DELIMITER ;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;DELIMITER $$&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;DROP PROCEDURE IF EXISTS `test`$$&lt;br /&gt;&lt;br /&gt;CREATE DEFINER=`admin`@`%` PROCEDURE `test`()&lt;br /&gt;BEGIN&lt;br /&gt;&amp;nbsp;DECLARE&amp;nbsp; c INT;&lt;br /&gt;#目标字符串&lt;br /&gt;SET @a = '1,,3,4,5,6,12';&lt;br /&gt;# 分隔符&lt;br /&gt;SET @c = ',';&lt;br /&gt;# 存储风格后的字符串&lt;br /&gt;SET @b = '';&lt;br /&gt;REPEAT&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 调用上面的存储过程&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL SPLIT_SUB_STR0(@a, ',', @c);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #将取得的字符串拼接，测试用&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SET @b =CAST(@b AS SIGNED INTEGER) + CAST(@c AS SIGNED INTEGER) ;&lt;br /&gt;#当目标字符串为空时，停止循环&lt;br /&gt;UNTIL @a = ''&lt;br /&gt;END REPEAT;&lt;br /&gt;# 查看结果&lt;br /&gt;SELECT @a, @c, @b;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; END$$&lt;br /&gt;&lt;br /&gt;DELIMITER ;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/antony1029/aggbug/1916269.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/antony1029/archive/2010/12/24/1916269.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/antony1029/archive/2010/11/30/1891996.html</id><title type="text">js代码库</title><summary type="text">http://www.sharejs.com/code.aspx</summary><published>2010-11-30T06:09:00Z</published><updated>2010-11-30T06:09:00Z</updated><author><name>antony.net</name><uri>http://www.cnblogs.com/antony1029/</uri></author><link rel="alternate" href="http://www.cnblogs.com/antony1029/archive/2010/11/30/1891996.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/antony1029/archive/2010/11/30/1891996.html"/><content type="html">http://www.sharejs.com/code.aspx&lt;img src="http://www.cnblogs.com/antony1029/aggbug/1891996.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/antony1029/archive/2010/11/30/1891996.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/antony1029/archive/2010/11/19/1882059.html</id><title type="text">table css 固定表头</title><summary type="text">&amp;lt;html&amp;gt;&amp;lt;style type="text/css"&amp;gt; &amp;lt;!-- body,table, td, a {font:9pt;} /*重点：固定行头样式*/.scrollRowThead{position: relative; left: expression(this.parentElement.parentElement.parentElement.parentE...</summary><published>2010-11-19T09:37:00Z</published><updated>2010-11-19T09:37:00Z</updated><author><name>antony.net</name><uri>http://www.cnblogs.com/antony1029/</uri></author><link rel="alternate" href="http://www.cnblogs.com/antony1029/archive/2010/11/19/1882059.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/antony1029/archive/2010/11/19/1882059.html"/><content type="html">&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;style type="text/css"&amp;gt; &lt;br /&gt;&amp;lt;!-- &lt;br /&gt;body,table, td, a {font:9pt;} &lt;br /&gt;/*重点：固定行头样式*/&lt;br /&gt;.scrollRowThead{position: relative; &lt;br /&gt;left: expression(this.parentElement.parentElement&lt;br /&gt;.parentElement.parentElement.scrollLeft);&lt;br /&gt;z-index:0;}&lt;br /&gt;/*重点：固定表头样式*/&lt;br /&gt;.scrollColThead {position: relative;&lt;br /&gt;top: expression(this.parentElement.parentElement&lt;br /&gt;.parentElement.scrollTop);&lt;br /&gt;z-index:2;}&lt;br /&gt;/*行列交叉的地方*/&lt;br /&gt;.scrollCR { z-index:3;}&lt;br /&gt;/*div外框*/&lt;br /&gt;.scrollDiv {height:200px;clear: both; &lt;br /&gt;border: 1px solid #EEEEEE;&lt;br /&gt;OVERFLOW: scroll;width: 320px; }&lt;br /&gt;/*行头居中*/&lt;br /&gt;.scrollColThead td,.scrollColThead th&lt;br /&gt;{ text-align: center ;}&lt;br /&gt;/*行头列头背景*/&lt;br /&gt;.scrollRowThead,.scrollColThead td,.scrollColThead th&lt;br /&gt;{background-color:EEEEEE;}&lt;br /&gt;/*表格的线*/&lt;br /&gt;.scrolltable{&lt;br /&gt;border-bottom:1px solid #CCCCCC; &lt;br /&gt;border-right:1px solid #CCCCCC; }&lt;br /&gt;/*单元格的线等*/&lt;br /&gt;.scrolltable td,.scrollTable th{&lt;br /&gt;border-left: 1px solid #CCCCCC; &lt;br /&gt;border-top: 1px solid #CCCCCC; &lt;br /&gt;padding: 5px; }&lt;br /&gt;--&amp;gt; &lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&amp;lt;h1&amp;gt;利用CSS代码让Table产生固定表头&amp;lt;/h1&amp;gt;&lt;br /&gt;&amp;lt;h3&amp;gt;www.865171.cn&amp;lt;/h3&amp;gt;&lt;br /&gt;&amp;lt;div id="scrollDiv"  &amp;gt;&lt;br /&gt;&amp;lt;table border="0" cellpadding="3" cellspacing="0" width="300" &amp;gt;&lt;br /&gt;&amp;lt;tr &amp;nbsp; &amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;th &amp;nbsp; &amp;gt;&amp;amp;nbsp;&amp;lt;/th&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;th colspan="2"&amp;gt;列头&amp;lt;/th&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;th colspan="2"&amp;gt;列头&amp;lt;/th&amp;gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;tr &amp;nbsp; &amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;th &amp;nbsp; &amp;gt;h1&amp;lt;/th&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;th &amp;gt;h2&amp;lt;/th&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;th &amp;gt;h3&amp;lt;/th&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;th &amp;gt;h4&amp;lt;/th&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;th &amp;gt;h5&amp;lt;/th&amp;gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td &amp;nbsp; &amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;input type="checkbox" name="checkbox" value="checkbox"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;a&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td&amp;gt;单元格2&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td&amp;gt;单元格3&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td&amp;gt;单元格4&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td&amp;gt;单元格5&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td &amp;nbsp; &amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;input type="checkbox" name="checkbox2" value="checkbox"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;b&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td&amp;gt;单元格2&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td&amp;gt;单元格3&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td&amp;gt;单元格4&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td&amp;gt;单元格5&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td nowrap &amp;nbsp; &amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;input type="checkbox" name="checkbox3" value="checkbox"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;c&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td nowrap&amp;gt;单元格2&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td nowrap&amp;gt;单元格3&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td nowrap&amp;gt;单元格4&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td nowrap&amp;gt;单元格5&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td &amp;nbsp; &amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;input type="checkbox" name="checkbox4" value="checkbox"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;d&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td&amp;gt;单元格2&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td&amp;gt;单元格3&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td&amp;gt;单元格4&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td&amp;gt;单元格5&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td &amp;nbsp; &amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;input type="checkbox" name="checkbox5" value="checkbox"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;e&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td&amp;gt;单元格2&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td&amp;gt;单元格3&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td&amp;gt;单元格4&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td&amp;gt;单元格5&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td &amp;nbsp; &amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;input type="checkbox" name="checkbox6" value="checkbox"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;f&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td&amp;gt;单元格2&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td&amp;gt;单元格3&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td&amp;gt;单元格4&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td&amp;gt;单元格5&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td  &amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;input type="checkbox" name="checkbox7" value="checkbox"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;g&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td&amp;gt;单元格2&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td&amp;gt;单元格3&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td&amp;gt;单元格4&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;td&amp;gt;单元格5&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;/table&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&lt;p&gt;&amp;lt;/html&amp;gt; &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&amp;lt;html&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;meta&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;http-equiv&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Content-Type"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;nbsp;content&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="text/html;&amp;nbsp;charset=gb2312"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;title&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;固定表头和列&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;title&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;style&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #800000; background-color: #f5f5f5;"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.FixedTitleRow&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000; background-color: #f5f5f5;"&gt;{&lt;/span&gt;&lt;span style="color: #ff0000; background-color: #f5f5f5;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position&lt;/span&gt;&lt;span style="color: #000000; background-color: #f5f5f5;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff; background-color: #f5f5f5;"&gt;&amp;nbsp;relative&lt;/span&gt;&lt;span style="color: #000000; background-color: #f5f5f5;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000; background-color: #f5f5f5;"&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;top&lt;/span&gt;&lt;span style="color: #000000; background-color: #f5f5f5;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff; background-color: #f5f5f5;"&gt;&amp;nbsp;expression(this.offsetParent.scrollTop)&lt;/span&gt;&lt;span style="color: #000000; background-color: #f5f5f5;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000; background-color: #f5f5f5;"&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;z-index&lt;/span&gt;&lt;span style="color: #000000; background-color: #f5f5f5;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff; background-color: #f5f5f5;"&gt;&amp;nbsp;10&lt;/span&gt;&lt;span style="color: #000000; background-color: #f5f5f5;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000; background-color: #f5f5f5;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;background-color&lt;/span&gt;&lt;span style="color: #000000; background-color: #f5f5f5;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff; background-color: #f5f5f5;"&gt;&amp;nbsp;#E6ECF0&lt;/span&gt;&lt;span style="color: #000000; background-color: #f5f5f5;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000; background-color: #f5f5f5;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000; background-color: #f5f5f5;"&gt;}&lt;/span&gt;&lt;span style="color: #800000; background-color: #f5f5f5;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.FixedTitleColumn&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000; background-color: #f5f5f5;"&gt;{&lt;/span&gt;&lt;span style="color: #ff0000; background-color: #f5f5f5;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position&lt;/span&gt;&lt;span style="color: #000000; background-color: #f5f5f5;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff; background-color: #f5f5f5;"&gt;&amp;nbsp;relative&lt;/span&gt;&lt;span style="color: #000000; background-color: #f5f5f5;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000; background-color: #f5f5f5;"&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;left&lt;/span&gt;&lt;span style="color: #000000; background-color: #f5f5f5;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff; background-color: #f5f5f5;"&gt;&amp;nbsp;expression(this.parentElement.offsetParent.scrollLeft)&lt;/span&gt;&lt;span style="color: #000000; background-color: #f5f5f5;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000; background-color: #f5f5f5;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000; background-color: #f5f5f5;"&gt;}&lt;/span&gt;&lt;span style="color: #800000; background-color: #f5f5f5;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.FixedDataColumn&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000; background-color: #f5f5f5;"&gt;{&lt;/span&gt;&lt;span style="color: #ff0000; background-color: #f5f5f5;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position&lt;/span&gt;&lt;span style="color: #000000; background-color: #f5f5f5;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff; background-color: #f5f5f5;"&gt;&amp;nbsp;relative&lt;/span&gt;&lt;span style="color: #000000; background-color: #f5f5f5;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000; background-color: #f5f5f5;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;left&lt;/span&gt;&lt;span style="color: #000000; background-color: #f5f5f5;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff; background-color: #f5f5f5;"&gt;&amp;nbsp;expression(this.parentElement.offsetParent.parentElement.scrollLeft)&lt;/span&gt;&lt;span style="color: #000000; background-color: #f5f5f5;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000; background-color: #f5f5f5;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;background-color&lt;/span&gt;&lt;span style="color: #000000; background-color: #f5f5f5;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff; background-color: #f5f5f5;"&gt;&amp;nbsp;#E6ECF0&lt;/span&gt;&lt;span style="color: #000000; background-color: #f5f5f5;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000; background-color: #f5f5f5;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000; background-color: #f5f5f5;"&gt;}&lt;/span&gt;&lt;span style="color: #800000; background-color: #f5f5f5;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;style&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;head&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;body&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;div&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;id&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="scrollDiv"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;nbsp;style&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="width:&amp;nbsp;300px;&amp;nbsp;overflow:&amp;nbsp;auto;&amp;nbsp;cursor:&amp;nbsp;default;&amp;nbsp;display:&amp;nbsp;inline;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position:&amp;nbsp;absolute;&amp;nbsp;height:&amp;nbsp;200px;"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;table&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;id&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;='accountTable'&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;width&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;='500'&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;height&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;='230'&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;cellpadding&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;='0'&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;cellspacing&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;='0'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;style&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;='table-layout:&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;auto'&amp;nbsp;bordercolor&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;='lightgrey'&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;tbody&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;tr&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FixedTitleRow"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FixedTitleColumn"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;ID0&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FixedTitleColumn"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;CK0&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FixedTitleColumn"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;Code0&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FixedTitleColumn"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;Descirption0&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FixedTitleColumn"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;TOL0&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;XS0&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;SS0&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;MS0&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;DS0&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;BS0&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;XL0&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;ML0&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;DL0&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;EM0&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;BM0&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FixedDataColumn"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;88&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FixedDataColumn"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;88&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FixedDataColumn"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;88&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FixedDataColumn"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;88&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FixedDataColumn"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;88&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;22&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;22&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;22&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;22&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;22&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;22&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;22&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;22&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;22&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;22&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FixedDataColumn"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;111&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FixedDataColumn"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;111&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FixedDataColumn"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;1111&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FixedDataColumn"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;This&amp;nbsp;is&amp;nbsp;Test&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FixedDataColumn"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;1&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;001&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;002&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;003&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;004&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;005&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;006&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;007&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;008&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;009&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;010&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FixedDataColumn"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;111&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FixedDataColumn"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;111&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FixedDataColumn"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;1111&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FixedDataColumn"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;This&amp;nbsp;is&amp;nbsp;Test&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FixedDataColumn"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;1&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;001&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;002&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;003&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;004&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;005&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;006&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;007&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;008&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;009&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;010&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FixedDataColumn"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;111&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FixedDataColumn"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;111&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FixedDataColumn"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;1111&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FixedDataColumn"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;This&amp;nbsp;is&amp;nbsp;Test&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FixedDataColumn"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;1&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;001&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;002&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;003&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;004&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;005&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;006&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;007&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;008&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;009&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;010&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;tbody&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;table&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;body&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;html&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/antony1029/aggbug/1882059.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/antony1029/archive/2010/11/19/1882059.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/antony1029/archive/2010/11/15/1877981.html</id><title type="text">Hash Tables in Javascript</title><summary type="text">转：http://www.mojavelinux.com/articles/javascript_hashes.htmlHash Tables in JavascriptConstructing a Hash Table Implementation for JavascriptJavascript is a prototype based object-oriented language whe...</summary><published>2010-11-15T13:49:00Z</published><updated>2010-11-15T13:49:00Z</updated><author><name>antony.net</name><uri>http://www.cnblogs.com/antony1029/</uri></author><link rel="alternate" href="http://www.cnblogs.com/antony1029/archive/2010/11/15/1877981.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/antony1029/archive/2010/11/15/1877981.html"/><content type="html">&lt;p&gt;转：&lt;a href="http://www.mojavelinux.com/articles/javascript_hashes.html"&gt;http://www.mojavelinux.com/articles/javascript_hashes.html&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;span &gt;Hash Tables in Javascript&lt;/span&gt;&lt;span &gt;Constructing a Hash Table Implementation for Javascript&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p &gt;Javascript is a prototype based object-oriented language where an objects is a mapping from property names to values. This tutorial demonstrates how to wrap these native objects with an hash table implementation similar to that found in the Java API.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Hash tables are a permutation of &lt;a href="http://en.wikipedia.org/wiki/Associative_array"&gt;associative arrays&lt;/a&gt; (i.e. name =&amp;gt; value pairs). If you use PHP, then you are very familiar with this type of data structure already since all PHP arrays are associative.&lt;/p&gt;&#xD;
&lt;p&gt;The Javascript language implements very loose and somewhat limited support for associative arrays. Any JavaScript array can use other objects as keys, making it a hash, but there exists no formal constructor for initializing them and it is more or less unweildy to work with. A short example of a hash in JavaScript would be as follows:&lt;/p&gt;&lt;pre &gt;var myArray = new Array();&#xD;
myArray['one'] = 1;&#xD;
myArray['two'] = 2;&#xD;
myArray['three'] = 3;&#xD;
&#xD;
// show the values stored&#xD;
for (var i in myArray) {&#xD;
	alert('key is: ' + i + ', value is: ' + myArray[i]);&#xD;
}&#xD;
		&lt;/pre&gt;&#xD;
&lt;p&gt;Just as in PHP, the 'foreach' contruct is used to run through the array, doing something for each key =&amp;gt; value pair. However, notice I did not do:&lt;/p&gt;&lt;pre &gt;for (var i = 0; i &amp;lt; myArray.length; i++) {&#xD;
	alert('key is: ' + i + ', value is: ' + myArray[i]);&#xD;
}&#xD;
		&lt;/pre&gt;&#xD;
&lt;p&gt;This approach would not work in Javascript because the length property of an associative array in JavaScript is not incremented for arrays with non-numeric keys and must otherwise be explicitly assigned. Part of the reason for this goes back to the missing constructor for created associative arrays.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Fundamentals&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;After a brief discussion of fundamentals we will begin to focus on the core problem. In JavaScript, every variable is in fact an object. Okay, so what does this mean? Well, essentially, no matter what the variable, it can be used as though it were an instance of an object. This means it has a constructor, methods and properties. A property is just a variable that is owned by the object and thus local to that object. A property is accessed using the syntax:&lt;/p&gt;&lt;pre &gt;myArray.one&#xD;
		&lt;/pre&gt;&#xD;
&lt;p&gt;where one is the property and the '.' symbol signifies we are talking about the property of the array (or object) myArray. So the above example could be alternatively executed as:&lt;/p&gt;&lt;pre &gt;for (var i in myArray) {&#xD;
	alert('key is: ' + i + ', value is: ' + eval('myArray.' + i));&#xD;
}&#xD;
		&lt;/pre&gt;&#xD;
&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; &lt;em&gt;In this example we have to use the function 'eval()' because we want to contruct the call myArray.one dynamically.&lt;/em&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Since each object has default properties that are accessed using this very same syntax, such as length and constructor, consider the case where the key in the associative array is the same as one of these properties. This situation highlights the fundamental problem with associative arrays in JavaScript. It should be clear now why the length property is not set when we make an associative array data structure. By creating an associative array, you wipe out the original structure of the object because it is no longer possible differentiate between data keys and object properties. They become one in the same.&lt;/p&gt;&#xD;
&lt;p&gt;As a matter of fact, this is not the only conflict. Each object has a property called contructor, which is the function reference which is used to contruct the object. Ahhh, so now we see why hashes in JavaScript have no contructor. By creating an associative array, it is possible to wipe out the constructor in the process. In fact, hashes in JavaScript are somewhat useless for anything more than a very simple, static array. You have to know what it will be used for before you use it. Okay, so enough run on, what are we going to do about it?&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Constructing a Hash Class&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Javascript is very nice language in the sense that we can create our own classes. So what we are going to do is create a Hash() class just like the Array() class, except we are going to get around the conflicts that we are running into with this Array() class.&lt;/p&gt;&#xD;
&lt;p&gt;You might thinking, "okay, so we make a class, but how do we get around the conflicting properties problem?". Easy, we make a property which itself is an array and call it items. Then, we can use any key we want, and store the data about the array in other properties. The trick is to move the data part of the array inside of a property of the class. The following listing is the Hash() object definition:&lt;/p&gt;&lt;pre &gt;function Hash()&#xD;
{&#xD;
	this.length = 0;&#xD;
	this.items = new Array();&#xD;
	for (var i = 0; i &amp;lt; arguments.length; i += 2) {&#xD;
		if (typeof(arguments[i + 1]) != 'undefined') {&#xD;
			this.items[arguments[i]] = arguments[i + 1];&#xD;
			this.length++;&#xD;
		}&#xD;
	}&#xD;
}&#xD;
		&lt;/pre&gt;&#xD;
&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; &lt;em&gt;You should select another name for this class if you are using the prototype JavaScript library to avoid a naming conflict.&lt;/em&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Let's break this down a bit. Right off the bat, we create a length property, which will just be 0 to start with. Additionally, we create our items array using the Array() contructor. Next we populate that array with the key =&amp;gt; value pairs we passed in and continue to increment the length. Ah, but JavaScript doesn't know anything about the special syntax that say PHP uses. So we have to invent our own. What we will do is just alternate key and value arguments to the contructor (similar to Perl). A typical call to create a Hash() object would use the following syntax:&lt;/p&gt;&lt;pre &gt;var myHash = new Hash('one', 1, 'two', 2, 'three', 3);&#xD;
		&lt;/pre&gt;&#xD;
&lt;p&gt;Already it must be nice to see a contructor...so much easier to add data to the structure!&lt;/p&gt;&#xD;
&lt;p&gt;Now, as you may recall before, we couldn't have any properties or methods in our associative array, so besides a 'foreach' construct, there was not much we could do with our associative array. Now that we have the ability to add methods and properties, let's get started! So we enhance our Hash() class.&lt;/p&gt;&lt;pre &gt;function Hash()&#xD;
{&#xD;
	this.length = 0;&#xD;
	this.items = new Array();&#xD;
	for (var i = 0; i &amp;lt; arguments.length; i += 2) {&#xD;
		if (typeof(arguments[i + 1]) != 'undefined') {&#xD;
			this.items[arguments[i]] = arguments[i + 1];&#xD;
			this.length++;&#xD;
		}&#xD;
	}&#xD;
   &#xD;
	this.removeItem = function(in_key)&#xD;
	{&#xD;
		var tmp_previous;&#xD;
		if (typeof(this.items[in_key]) != 'undefined') {&#xD;
			this.length--;&#xD;
			var tmp_previous = this.items[in_key];&#xD;
			delete this.items[in_key];&#xD;
		}&#xD;
	   &#xD;
		return tmp_previous;&#xD;
	}&#xD;
&#xD;
	this.getItem = function(in_key) {&#xD;
		return this.items[in_key];&#xD;
	}&#xD;
&#xD;
	this.setItem = function(in_key, in_value)&#xD;
	{&#xD;
		var tmp_previous;&#xD;
		if (typeof(in_value) != 'undefined') {&#xD;
			if (typeof(this.items[in_key]) == 'undefined') {&#xD;
				this.length++;&#xD;
			}&#xD;
			else {&#xD;
				tmp_previous = this.items[in_key];&#xD;
			}&#xD;
&#xD;
			this.items[in_key] = in_value;&#xD;
		}&#xD;
	   &#xD;
		return tmp_previous;&#xD;
	}&#xD;
&#xD;
	this.hasItem = function(in_key)&#xD;
	{&#xD;
		return typeof(this.items[in_key]) != 'undefined';&#xD;
	}&#xD;
&#xD;
	this.clear = function()&#xD;
	{&#xD;
		for (var i in this.items) {&#xD;
			delete this.items[i];&#xD;
		}&#xD;
&#xD;
		this.length = 0;&#xD;
	}&#xD;
}&#xD;
		&lt;/pre&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Understanding the Implementation&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;We now have lots of useful methods! In JavaScript, any variable can be a reference to a function, so to add methods to the class, the easiest way to do it is to just write the function and then assign it to a property in the class. Okay, so you may be thinking, "But I can't have the same property name as a method name." That's right, another limitation of JavaScript objects is that methods are properties. However, in most cases, it won't be a problem because method names should be 'behavior' names and properties should be 'state' names.&lt;/p&gt;&#xD;
&lt;p&gt;In order to access the underlying items, we added the methods 'setItem', 'removeItem' and 'hasItem', and a 'clear' method to flush out the data. For now we will refer to each key =&amp;gt; value pair as an item. We could create a 'getItem' method as well, but that is a bit slower and it doesn't server any real useful purpose. If you would like, add it for your own class...either way works. &lt;em&gt;Note that if you are using the prototype JavaScript library, the 'hasItem' method will return values for any of the methods that prototype adds to Array. You will also need to ensure the item found is not a function.&lt;/em&gt;&lt;/p&gt;&#xD;
&lt;p&gt;The most important role of our methods is to keep the length property up to date. As we can see, it takes a lot of work out of our job and we can use these nice methods to work easily with our hash. Just like a Hash in Java, the return value is a reference to the item in the Hash() that was replaced:&lt;/p&gt;&lt;pre &gt;alert("Previous value: " + myHash.setItem('foobar', 'hey'));&lt;/pre&gt;&#xD;
&lt;p&gt;If you now want to iterate through the Hash() like we did the array in the very beginning, you may do so using two different approaches:&lt;/p&gt;&lt;pre &gt;for (var i in myHash.items) {&#xD;
	alert('key is: ' + i + ', value is: ' + myHash.items[i]);&#xD;
}&#xD;
		&lt;/pre&gt;&#xD;
&lt;p&gt;or&lt;/p&gt;&lt;pre &gt;for (var i = 0; i &amp;lt; myHash.length; i++) {&#xD;
	alert('key is: ' + i + ', value is: ' + myHash.items[i]);&#xD;
}&#xD;
		&lt;/pre&gt;&#xD;
&lt;p&gt;and if you made a method for 'getItem()', you could also do:&lt;/p&gt;&lt;pre &gt;for (var i = 0; i &amp;lt; myHash.length; i++) {&#xD;
	alert('key is: ' + i + ', value is: ' + myHash.getItem(i));&#xD;
}&#xD;
		&lt;/pre&gt;&#xD;
&lt;p&gt;If you are not concerned with speed down to the millisecond, then it is better to use the more formal approach of making a 'getItem()' method because it helps to prevent exposing the internal Array items.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Now you should go home and start using this in every JavaScript code you write because it finally makes Arrays in JavaScript useful. It is great for storing configuration data, returning multiple values from function, and the list goes on.&lt;/p&gt;&#xD;
&lt;p&gt;Now, I added a few more properties in some of my JavaScript programs to get more information out of the Hash() and so can you. In one application, I wanted to know how many integer keys the Hash() had rather than just the length of the whole Hash() and I wanted to be able to work with just the integer keys in one instance. You can do this by modifing the contrutor and methods to check for the type of the key using the function 'typeof()' and then setting the indexLength (as I called it) appropriately.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/antony1029/aggbug/1877981.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/antony1029/archive/2010/11/15/1877981.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/antony1029/archive/2010/10/10/1847176.html</id><title type="text">在非UI线程中改变UI控件属性的通用方法</title><summary type="text">转自：http://www.sunnychen.org/trackback.asp?tbID=124&amp;amp;action=addtb&amp;amp;tbKey=43c0d85c8d6d5dcc018d174276ac098da9245500在.NET中如需在非UI线程中改变UI控件属性时，CLR会抛出异常，提示无法在非UI线程中更新界面上的控件（Cross-thread operation not v...</summary><published>2010-10-10T06:23:00Z</published><updated>2010-10-10T06:23:00Z</updated><author><name>antony.net</name><uri>http://www.cnblogs.com/antony1029/</uri></author><link rel="alternate" href="http://www.cnblogs.com/antony1029/archive/2010/10/10/1847176.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/antony1029/archive/2010/10/10/1847176.html"/><content type="html">&lt;p&gt;转自：&lt;a href="http://www.sunnychen.org/trackback.asp?tbID=124&amp;amp;action=addtb&amp;amp;tbKey=43c0d85c8d6d5dcc018d174276ac098da9245500"&gt;http://www.sunnychen.org/trackback.asp?tbID=124&amp;amp;action=addtb&amp;amp;tbKey=43c0d85c8d6d5dcc018d174276ac098da9245500&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;在.NET中如需在非UI线程中改变UI控件属性时，CLR会抛出异常，提示无法在非UI线程中更新界面上的控件（Cross-thread operation not valid）。一般情况下有两种解决办法。第一种就是设置Control的静态属性CheckForIllegalCrossThreadCalls为False，如下：&lt;/p&gt;&#xD;
&lt;div id="highlighter_280308" &gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;01&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;public&lt;/code&gt; &lt;code &gt;Form1() &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;02&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;{ &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;03&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;InitializeComponent(); &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;04&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;Control.CheckForIllegalCrossThreadCalls = &lt;/code&gt;&lt;code &gt;false&lt;/code&gt;&lt;code &gt;; &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;05&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;} &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;06&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&lt;/code&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;07&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;private&lt;/code&gt; &lt;code &gt;void&lt;/code&gt; &lt;code &gt;button1_Click(&lt;/code&gt;&lt;code &gt;object&lt;/code&gt; &lt;code &gt;sender, EventArgs e) &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;08&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;{ &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;09&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;Thread thread = &lt;/code&gt;&lt;code &gt;new&lt;/code&gt; &lt;code &gt;Thread(() =&amp;gt; &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;{ &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;11&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;for&lt;/code&gt; &lt;code &gt;(&lt;/code&gt;&lt;code &gt;int&lt;/code&gt; &lt;code &gt;i = 0; i &amp;lt; 100000; i++) &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;12&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;{ &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;13&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;label1.Text = i.ToString(); &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;14&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;label1.Refresh(); &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;15&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;} &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;16&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;}); &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;17&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;thread.Start(); &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;18&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;}&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;另一种办法，就是使用委托，根据控件的InvokeRequired属性判断当前控件的更新操作是否是在另一个线程中。如果是，则使用委托进行方法调用并更新控件。但是这种方法有个缺点，就是需要针对每个控件的属性设置方式创建一些单独的委托和方法，这些委托和方法仅仅是在解决跨线程操作的时候使用。比如，你在另一个线程中需要修改某个label的text时，你就需要创建一个SetLabelText方法，假设你还需要更新TextBox的text，那么你还需要另外创建一个SetTextBoxText方法。&lt;/p&gt;&#xD;
&lt;p&gt;通过下面的委托和方法的定义，我们实现了&amp;#8220;一次定义，多次使用&amp;#8221;。请看：&lt;/p&gt;&#xD;
&lt;div id="highlighter_38707" &gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&lt;a style="width: 16px; height: 16px"  title="view source" href="#viewSource" highlighterid="highlighter_38707" commandname="viewSource"&gt;view source&lt;/a&gt; &#xD;
&lt;div &gt;&#xD;
&lt;object id="highlighter_38707_clipboard" title="copy to clipboard" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="16" height="16" type="application/x-shockwave-flash"&gt;&#xD;
&lt;param name="_cx" value="423" /&gt;&lt;param name="_cy" value="423" /&gt;&lt;param name="FlashVars" value="" /&gt;&lt;param name="Movie" value="fckeditor/editor/plugins/syntaxhighlight2/scripts/clipboard.swf" /&gt;&lt;param name="Src" value="fckeditor/editor/plugins/syntaxhighlight2/scripts/clipboard.swf" /&gt;&lt;param name="WMode" value="Transparent" /&gt;&lt;param name="Play" value="0" /&gt;&lt;param name="Loop" value="-1" /&gt;&lt;param name="Quality" value="High" /&gt;&lt;param name="SAlign" value="" /&gt;&lt;param name="Menu" value="0" /&gt;&lt;param name="Base" value="" /&gt;&lt;param name="AllowScriptAccess" value="always" /&gt;&lt;param name="Scale" value="ShowAll" /&gt;&lt;param name="DeviceFont" value="0" /&gt;&lt;param name="EmbedMovie" value="0" /&gt;&lt;param name="BGColor" value="" /&gt;&lt;param name="SWRemote" value="" /&gt;&lt;param name="MovieData" value="" /&gt;&lt;param name="SeamlessTabbing" value="1" /&gt;&lt;param name="Profile" value="0" /&gt;&lt;param name="ProfileAddress" value="" /&gt;&lt;param name="ProfilePort" value="0" /&gt;&lt;param name="AllowNetworking" value="all" /&gt;&lt;param name="AllowFullScreen" value="false" /&gt;&lt;/object&gt;&lt;/div&gt;&lt;a style="width: 16px; height: 16px"  title="print" href="#printSource" highlighterid="highlighter_38707" commandname="printSource"&gt;print&lt;/a&gt;&lt;a style="width: 16px; height: 16px"  title="?" href="#about" highlighterid="highlighter_38707" commandname="about"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;01&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;private&lt;/code&gt; &lt;code &gt;delegate&lt;/code&gt; &lt;code &gt;void&lt;/code&gt; &lt;code &gt;ParameterizedControlUpdate(&lt;/code&gt;&lt;code &gt;params&lt;/code&gt; &lt;code &gt;object&lt;/code&gt;&lt;code &gt;[] args); &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;02&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&lt;/code&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;03&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;private&lt;/code&gt; &lt;code &gt;delegate&lt;/code&gt; &lt;code &gt;void&lt;/code&gt; &lt;code &gt;ControlUpdateDelegate(Component c, &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;04&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;ParameterizedControlUpdate callback, &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;05&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;params&lt;/code&gt; &lt;code &gt;object&lt;/code&gt;&lt;code &gt;[] args); &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;06&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&lt;/code&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;07&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;private&lt;/code&gt; &lt;code &gt;void&lt;/code&gt; &lt;code &gt;DelegatedControlUpdate(Component c, &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;08&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;ParameterizedControlUpdate callback, &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;09&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;params&lt;/code&gt; &lt;code &gt;object&lt;/code&gt;&lt;code &gt;[] args) &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;{ &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;11&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;Control target = (c &lt;/code&gt;&lt;code &gt;is&lt;/code&gt; &lt;code &gt;Control) ? (c &lt;/code&gt;&lt;code &gt;as&lt;/code&gt; &lt;code &gt;Control) : &lt;/code&gt;&lt;code &gt;this&lt;/code&gt;&lt;code &gt;; &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;12&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;if&lt;/code&gt; &lt;code &gt;(target.InvokeRequired) &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;13&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;{ &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;14&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;ControlUpdateDelegate d = DelegatedControlUpdate; &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;15&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;target.Invoke(d, &lt;/code&gt;&lt;code &gt;new&lt;/code&gt; &lt;code &gt;object&lt;/code&gt;&lt;code &gt;[] { c, callback, args }); &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;16&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;} &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;17&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;else&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;18&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;{ &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;19&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;callback(args); &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;20&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;} &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;21&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;}&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;于是，上面的例子可以改为：&lt;/p&gt;&#xD;
&lt;div id="highlighter_213069" &gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&lt;a style="width: 16px; height: 16px"  title="view source" href="#viewSource" highlighterid="highlighter_213069" commandname="viewSource"&gt;view source&lt;/a&gt; &#xD;
&lt;div &gt;&#xD;
&lt;object id="highlighter_213069_clipboard" title="copy to clipboard" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="16" height="16" type="application/x-shockwave-flash"&gt;&#xD;
&lt;param name="_cx" value="423" /&gt;&lt;param name="_cy" value="423" /&gt;&lt;param name="FlashVars" value="" /&gt;&lt;param name="Movie" value="fckeditor/editor/plugins/syntaxhighlight2/scripts/clipboard.swf" /&gt;&lt;param name="Src" value="fckeditor/editor/plugins/syntaxhighlight2/scripts/clipboard.swf" /&gt;&lt;param name="WMode" value="Transparent" /&gt;&lt;param name="Play" value="0" /&gt;&lt;param name="Loop" value="-1" /&gt;&lt;param name="Quality" value="High" /&gt;&lt;param name="SAlign" value="" /&gt;&lt;param name="Menu" value="0" /&gt;&lt;param name="Base" value="" /&gt;&lt;param name="AllowScriptAccess" value="always" /&gt;&lt;param name="Scale" value="ShowAll" /&gt;&lt;param name="DeviceFont" value="0" /&gt;&lt;param name="EmbedMovie" value="0" /&gt;&lt;param name="BGColor" value="" /&gt;&lt;param name="SWRemote" value="" /&gt;&lt;param name="MovieData" value="" /&gt;&lt;param name="SeamlessTabbing" value="1" /&gt;&lt;param name="Profile" value="0" /&gt;&lt;param name="ProfileAddress" value="" /&gt;&lt;param name="ProfilePort" value="0" /&gt;&lt;param name="AllowNetworking" value="all" /&gt;&lt;param name="AllowFullScreen" value="false" /&gt;&lt;/object&gt;&lt;/div&gt;&lt;a style="width: 16px; height: 16px"  title="print" href="#printSource" highlighterid="highlighter_213069" commandname="printSource"&gt;print&lt;/a&gt;&lt;a style="width: 16px; height: 16px"  title="?" href="#about" highlighterid="highlighter_213069" commandname="about"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;01&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;private&lt;/code&gt; &lt;code &gt;void&lt;/code&gt; &lt;code &gt;button1_Click(&lt;/code&gt;&lt;code &gt;object&lt;/code&gt; &lt;code &gt;sender, EventArgs e) &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;02&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;{ &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;03&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;Thread thread = &lt;/code&gt;&lt;code &gt;new&lt;/code&gt; &lt;code &gt;Thread(() =&amp;gt; &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;04&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;{ &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;05&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;for&lt;/code&gt; &lt;code &gt;(&lt;/code&gt;&lt;code &gt;int&lt;/code&gt; &lt;code &gt;i = 0; i &amp;lt; 100000; i++) &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;06&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;{ &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;07&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;DelegatedControlUpdate(label1, args =&amp;gt; &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;08&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;{ &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;09&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;label1.Text = (&lt;/code&gt;&lt;code &gt;string&lt;/code&gt;&lt;code &gt;)args[0]; &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;label1.Refresh(); &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;11&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;}, i.ToString()); &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;12&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;} &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;13&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;}); &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;14&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;thread.Start(); &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;table&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td &gt;&lt;code&gt;15&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;code &gt;}&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt; &lt;img src="http://www.cnblogs.com/antony1029/aggbug/1847176.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/antony1029/archive/2010/10/10/1847176.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
