<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_Andy65007</title><subtitle type="text">.NET Java C++</subtitle><id>http://feed.cnblogs.com/blog/u/13673/rss</id><updated>2012-01-15T13:53:51Z</updated><author><name>andy65007</name><uri>http://www.cnblogs.com/andy65007/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/andy65007/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/13673/rss"/><entry><id>http://www.cnblogs.com/andy65007/archive/2012/01/15/2323088.html</id><title type="text">新版的Qt Creator(2.4.0)启动非常慢的解决方法</title><summary type="text">今天闲来无事，决定把一直在用的Qt Creator版本升级一下，看看是否能在新版本中找到些惊喜；更新还算快，没几分钟新版本就已经安装完毕，打开Qt Creator发现的第一个“惊喜”就是启动非常慢，想想不应该啊，和上个版本比安装文件体积没有增加多少，再说咱玩Qt要的不就是个速度？网上搜了半天，自己又捣鼓了半天，什么ProcessMonitor、杀毒软件、分析源代码都用上了，无果；后来发现新版在启动时会访问2个地址lillemy.nokia.kunder.linpro.no:http和hx-in-f118.1e100.net:http；一定是这个网络连接导致IDE启动时奇慢无比；又经过一番折腾，</summary><published>2012-01-15T13:54:00Z</published><updated>2012-01-15T13:54:00Z</updated><author><name>andy65007</name><uri>http://www.cnblogs.com/andy65007/</uri></author><link rel="alternate" href="http://www.cnblogs.com/andy65007/archive/2012/01/15/2323088.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/andy65007/archive/2012/01/15/2323088.html"/><content type="html">&lt;p&gt;今天闲来无事，决定把一直在用的Qt Creator版本升级一下，看看是否能在新版本中找到些惊喜；&lt;/p&gt;&lt;p&gt;更新还算快，没几分钟新版本就已经安装完毕，打开Qt Creator发现的第一个&amp;#8220;惊喜&amp;#8221;就是启动非常慢，想想不应该啊，和上个版本比安装文件体积没有增加多少，再说咱玩Qt要的不就是个速度？网上搜了半天，自己又捣鼓了半天，什么ProcessMonitor、杀毒软件、分析源代码都用上了，无果；&lt;/p&gt;&lt;p&gt;后来发现新版在启动时会访问2个地址lillemy.nokia.kunder.linpro.no:http和hx-in-f118.1e100.net:http；一定是这个网络连接导致IDE启动时奇慢无比；又经过一番折腾，问题终于确定：原来是QtCreator的一个插件造成的；&lt;/p&gt;&lt;p&gt;解决方法：&lt;/p&gt;&lt;p&gt;打开QtCreator.exe-&amp;gt;帮助-&amp;gt;关于插件-&amp;gt;展开Qt Creator，找到Welcome插件，设置为不选中；OK，再打开试试，是不是飞一样的速度？&#xD;
 &#xD;
&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;至于这个问题笔者是如何发现的，其实也是受某大虾博客文章的启发，请参阅：&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/codingmylife/archive/2011/03/03/1970357.html#commentform"&gt;http://www.cnblogs.com/codingmylife/archive/2011/03/03/1970357.html#commentform&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/andy65007/aggbug/2323088.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/andy65007/archive/2012/01/15/2323088.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/andy65007/archive/2011/12/16/2289962.html</id><title type="text">关于软件生态环境</title><summary type="text">软件系统的设计、开发、使用、维护一系列过程，对于和软件产品相关的各方参与人来说，一直都不是一件轻松的事情，因为往往看似简单的系统也会或多或少涉及到的技术方面、客户体验上、以及升级维护等大大小小的问题；而关于这些出现的问题，对于不同的开发团队、用来说也都没有统一的标准。本文笔者尝试简单讨论一下这个问题，如有不当，欢迎各位指正。首先从开始设计一个软件来说，根据软件具体应用环境，可以考虑应该提供如下哪些功能或功能组合：实现正常业务逻辑的功能；数据的备份与恢复；数据导入、导出；垃圾数据自动清理，旧数据导出永久备份；使用系统的各个用户权限管理与分配；软件数据传输安全，数据存储安全；软件升级与新模块挂接；</summary><published>2011-12-16T03:40:00Z</published><updated>2011-12-16T03:40:00Z</updated><author><name>andy65007</name><uri>http://www.cnblogs.com/andy65007/</uri></author><link rel="alternate" href="http://www.cnblogs.com/andy65007/archive/2011/12/16/2289962.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/andy65007/archive/2011/12/16/2289962.html"/><content type="html">&lt;p&gt;软件系统的设计、开发、使用、维护一系列过程，对于和软件产品相关的各方参与人来说，一直都不是一件轻松的事情，因为往往看似简单的系统也会或多或少涉及到的技术方面、客户体验上、以及升级维护等大大小小的问题；而关于这些出现的问题，对于不同的开发团队、用来说也都没有统一的标准。本文笔者尝试简单讨论一下这个问题，如有不当，欢迎各位指正。&lt;/p&gt;&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;li&gt;与现有系统的数据交互及接口；&lt;/li&gt;&lt;/ol&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/andy65007/aggbug/2289962.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/andy65007/archive/2011/12/16/2289962.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/andy65007/archive/2011/10/11/2207939.html</id><title type="text">Windows7中操作mysql数据库</title><summary type="text">本文介绍的操作方法只用于非MSI安装程序安装的MySQL程序、或者MySQL程序由其他PC拷贝到本地的情况；下载或拷贝最新版本MySQL程序文件到本机；1. 启动服务&amp;quot;[MySQL安装路径]\MySQL Server 5.5\bin\mysqld&amp;quot; --defaults-file=&amp;quot;[MySQL安装路径]\MySQL Server 5.5\my.ini&amp;quot;注：命令中 my.ini文件由MySQL\bin目录下MySQLInstanceConfig.exe程序生成如果执行MySQLInstanceConfig.exe提示找不到my-template.cnf文</summary><published>2011-10-11T14:43:00Z</published><updated>2011-10-11T14:43:00Z</updated><author><name>andy65007</name><uri>http://www.cnblogs.com/andy65007/</uri></author><link rel="alternate" href="http://www.cnblogs.com/andy65007/archive/2011/10/11/2207939.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/andy65007/archive/2011/10/11/2207939.html"/><content type="html">&lt;p&gt;本文介绍的操作方法只用于&lt;span style="color: red; "&gt;非&lt;/span&gt;MSI安装程序安装的MySQL程序、或者MySQL程序由其他PC拷贝到本地的情况；&lt;/p&gt;&lt;p&gt;下载或拷贝最新版本MySQL程序文件到本机；&amp;nbsp;&lt;/p&gt;&lt;p&gt;1. 启动服务&lt;/p&gt;&lt;p&gt;"[MySQL安装路径]\MySQL Server 5.5\bin\mysqld" --defaults-file="[MySQL安装路径]\MySQL Server 5.5\my.ini"&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;em style="font-size: 10pt; "&gt;注：命令中 my.ini文件由MySQL\bin目录下MySQLInstanceConfig.exe程序生成&amp;nbsp;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;span style="font-size: 10pt; "&gt;如果执行&lt;/span&gt;&lt;span style="font-size: 10pt; "&gt;MySQLInstanceConfig.exe提示找不到my-template.cnf文件，请将MySQL目录下&lt;div style="display: inline-block; "&gt;&lt;/div&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; "&gt;my-template.ini文件改名为&lt;div style="display: inline-block; "&gt;&lt;/div&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; "&gt;my-template.cnf然后拷贝到&amp;#8220;\&lt;/span&gt;&lt;span style="font-size: 10pt; "&gt;[MySQL安装路径]\MySQL Server 5.5\bin&amp;#8221;目录下&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;2. &amp;nbsp;停止服务&lt;/p&gt;&lt;p&gt;[MySQL安装路径]\MySQL Server 5.5\bin\mysqladmin -u root shutdown&amp;nbsp;&lt;/p&gt;&lt;p&gt;3. 移除MySQL的windows服务&amp;nbsp;&lt;/p&gt;&lt;p&gt;[MySQL安装路径]\MySQL Server 5.5\bin\mysqld -remove&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt; "&gt;&lt;em&gt;注 ：此命令需要在管理员权限下的命令提示符中执行（开始-&amp;gt;附件-&amp;gt;邮件选择命令提示符-&amp;gt;以管理员权限运行&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/andy65007/aggbug/2207939.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/andy65007/archive/2011/10/11/2207939.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/andy65007/archive/2010/08/18/1802627.html</id><title type="text">软件开发纲要(实际情况具体调整)</title><summary type="text">软件开发纲要，实际情况具体调整====================================编码规范：字符串存放在数据库中数据库表：单词小写加下划线SQL 语句关键字大写尽量使用存储过程，不硬编码SQL脚本到程序里（使用LINQ技术除外）项目源代码的分层结构如果系统需要直接访问第三方数据库，尝试建立SQL SYNONYM，View视图,较少与其耦合项目中有明显的业务模块区分，且各模块相对...</summary><published>2010-08-18T09:00:00Z</published><updated>2010-08-18T09:00:00Z</updated><author><name>andy65007</name><uri>http://www.cnblogs.com/andy65007/</uri></author><link rel="alternate" href="http://www.cnblogs.com/andy65007/archive/2010/08/18/1802627.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/andy65007/archive/2010/08/18/1802627.html"/><content type="html">&lt;p&gt;软件开发纲要，实际情况具体调整&lt;br /&gt;====================================&lt;br /&gt;&lt;strong&gt;编码规范：&lt;/strong&gt;&lt;br /&gt;字符串存放在数据库中&lt;br /&gt;数据库表：单词小写加下划线&lt;br /&gt;SQL 语句关键字大写&lt;br /&gt;尽量使用存储过程，不硬编码SQL脚本到程序里（使用LINQ技术除外）&lt;br /&gt;项目源代码的分层结构&lt;br /&gt;如果系统需要直接访问第三方数据库，尝试建立SQL SYNONYM，View视图,较少与其耦合&lt;br /&gt;项目中有明显的业务模块区分，且各模块相对独立，尝试在源代码结构、数据库表名前缀等方面加以区分&lt;br /&gt;源代码以&amp;#8220;模块\组件&amp;#8221;划分；（如Analysis Service\,WebSite\;WebSite下在分业务组件财务和客户)&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;开发环境：&lt;/strong&gt;&lt;br /&gt;开发环境配置：测试机、开发机、服务器（个数、配置参数）&lt;br /&gt;程序源代码目录结构(数据库脚本目录[创建表、初始化数据]、公共代码目录、文档、源代码、类库、工具等等)&lt;br /&gt;项目主界面样式&lt;br /&gt;SVN&lt;br /&gt;需要开发软件列表（VS,SQL Server，第三方组件（可能需要审批））&lt;br /&gt;Bugzilla&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;沟通方式：&lt;br /&gt;&lt;/strong&gt;人员联系方式（手机、名称、Email）&lt;br /&gt;邮件&lt;br /&gt;电话&lt;br /&gt;如果文档版本更新，或关键组件（共享组件更新）发邮件通知&lt;br /&gt;沟通信息存放于项目文件夹&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;人员配置：&lt;/strong&gt;&lt;br /&gt;美工&lt;br /&gt;开发&lt;br /&gt;测试&lt;br /&gt;数据库管理&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;书写文档：&lt;/strong&gt;（定义文档格式：字体、首页、目录、版本描述）&lt;br /&gt;系统用户手册&lt;br /&gt;部署文档&lt;br /&gt;概要设计（主机配置：开发环境、产品环境）&lt;br /&gt;详细设计&lt;br /&gt;需求文档&lt;br /&gt;StoryBoard&lt;br /&gt;主要模块设计(界面、接口、功能描述)&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;开发启动：&lt;br /&gt;&lt;/strong&gt;code review&lt;br /&gt;测试用例编写&lt;br /&gt;模块功能讨论会议&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;设计阶段：&lt;br /&gt;&lt;/strong&gt;任务计划可以使用：Windows Service（自行开发），SQL Server Agent（SQL操作）， Windows任务计划+自开发程序等方式&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;前期准备：&lt;/strong&gt;&lt;br /&gt;准备项目开发需要的参考资料，放入study文件夹，供组员参考&lt;br /&gt;需求文档格式定义（开发团队仔细确认需求、和客户反复沟通确认），及生成完整的需求文档，制定需求变更控制（客户提交变更申请邮件-&amp;gt;开发团队分析变更影响范围、确定工作量(取舍变更项)-&amp;gt;开发团队报告上级及客户变更成本-&amp;gt;客户及上级确定变更-&amp;gt;客户更新需求文档并发送开发团队-&amp;gt;开发团队实施变更-&amp;gt;双方确认变更）&lt;br /&gt;准备、攻克需要用到的相关技术（筛选或推迟当前技术或工期无法实现的功能）&lt;br /&gt;人力资源安排及角色分配&lt;br /&gt;美工根据需求设计产品主要界面及展现风格（反复和客户确认界面、界面设计确认）&lt;br /&gt;制定合适的开发周期（需求、开发、测试、UAT阶段；版本交付里程碑；验收标准）、交付计划、售后服务期限和范围（合理修改已有产品、不增加新功能）&lt;br /&gt;leader准备已有开发项目或技术的可重用部分，准备项目开发结构和可复用组件），尽可能提高开发效率&lt;br /&gt;建立自动化部署机制，方便开发与测试代码同步，减少部署时间&lt;br /&gt;数据库表结构的定义，生成脚本文件和文档&lt;br /&gt;提交Research结果报告（研究对象有何功能，对项目的作用，如何使用，当前问题，参考文档）&lt;br /&gt;建立项目软件库，所有开发工具、第三方组件、及其关联文档，存放于项目组Software文件夹&lt;br /&gt;提前准备好开发环境、沟通方式&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;新人培训问题：&lt;/strong&gt;&lt;br /&gt;制定新人的主要指导人员，最好1对1&lt;br /&gt;定时查看工作成果，即使纠正出现的问题&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;开发中：&lt;/strong&gt;&lt;br /&gt;随时同步更新项目成员使用工具功能、所开发模块功能介绍（使整个团队同步项目状态和最新技术）&lt;br /&gt;注意代码质量，前期进行code review，规范源代码签入描述信息&lt;br /&gt;测试要注意以下方面：产品界面、业务逻辑、数据正确性、产品性能；必要时学习使用SQL Profiler验证每个操作的SQL 访问性能&lt;br /&gt;定时沟通（如DailyMeeting形式）：报告开发进度、当前问题、确定下一步计划；测试报告测试情况、已完成测试任务&lt;br /&gt;定时制定部署时间，交测试验证，同步当前开发进度与质量&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;通用功能：&lt;br /&gt;&lt;/strong&gt;验证、安全&lt;br /&gt;日志&lt;br /&gt;权限系统&lt;/p&gt; &lt;img src="http://www.cnblogs.com/andy65007/aggbug/1802627.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/andy65007/archive/2010/08/18/1802627.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/andy65007/archive/2010/07/30/1788964.html</id><title type="text">给Silverlight项目Ranet.UILibrary.OLAP添加客户端调试功能</title><summary type="text">关于Ranet.UILibrary.OLAP项目的简介请参考我的另一篇文章这里 不管什么原因，有时我们希望可以在Silverlight客户端进行调试，以查看发送到Server端的请求参数等信息，从而可以更好的定位问题；以下方法基于Ranet.UILibrary.OLAP项目，对其客户端添加一个调试窗口：Add silverligth client debug feature in Ranet.UI...</summary><published>2010-07-30T10:08:00Z</published><updated>2010-07-30T10:08:00Z</updated><author><name>andy65007</name><uri>http://www.cnblogs.com/andy65007/</uri></author><link rel="alternate" href="http://www.cnblogs.com/andy65007/archive/2010/07/30/1788964.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/andy65007/archive/2010/07/30/1788964.html"/><content type="html">&lt;p&gt;关于Ranet.UILibrary.OLAP项目的简介请参考我的另一篇文章&lt;a href="http://www.cnblogs.com/andy65007/archive/2010/07/09/1774187.html"&gt;这里&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;不管什么原因，有时我们希望可以在Silverlight客户端进行调试，以查看发送到Server端的请求参数等信息，从而可以更好的定位问题；以下方法基于Ranet.UILibrary.OLAP项目，对其客户端添加一个调试窗口：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Add silverligth client debug feature in Ranet.UILibrary.OLAP:&lt;br /&gt;1. change file \ranet-uilibrary-olap\UILibrary.Olap\UILibrary.Olap.MergeModule.Samples.Src\INSTALLDIR\Samples\UITest.Web\SilverliteApplication.htm :&lt;br /&gt;&amp;nbsp;add ?debug=true in line 68(&amp;lt;param name="source" value="ClientBin/UITest.xap&lt;span style="color: #0000ff"&gt;?debug=true&lt;/span&gt;")&lt;br /&gt;2. change file \ranet-uilibrary-olap\UILibrary.Olap\UILibrary.Olap.MergeModule.Samples.Src\INSTALLDIR\Samples\UITest.Silverlight\evMdxDesigner.cs : &lt;/p&gt;&#xD;
&lt;p&gt;add InitDebug();&amp;nbsp;method&lt;br /&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('3c9f42e5-b9e1-41a5-b31c-fde31c8cd583')"&gt;&lt;img style="display: none" id="code_img_opened_3c9f42e5-b9e1-41a5-b31c-fde31c8cd583"  onclick="cnblogs_code_hide('3c9f42e5-b9e1-41a5-b31c-fde31c8cd583',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt; &#xD;
&lt;div id="cnblogs_code_open_3c9f42e5-b9e1-41a5-b31c-fde31c8cd583" &gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;InitDebug()&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;src&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;App.Current.Host.Source.ToString();&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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;idx&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;src.IndexOf(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;?&lt;/span&gt;&lt;span style="color: #800000"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(idx&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;-&lt;/span&gt;&lt;span style="color: #800080"&gt;1&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;&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;&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;string&lt;/span&gt;&lt;span style="color: #000000"&gt;[]&amp;nbsp;paramLst&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;src.Substring(idx&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;).Split(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;.ToCharArray());&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;for&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;paramLst.Length;&amp;nbsp;i&lt;/span&gt;&lt;span style="color: #000000"&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;&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;&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;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;[]&amp;nbsp;p&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;paramLst[i].Split(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;=&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;.ToCharArray());&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;&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;switch&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(p[&lt;/span&gt;&lt;span style="color: #800080"&gt;0&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;&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;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;&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;/span&gt;&lt;span style="color: #0000ff"&gt;case&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;debug&lt;/span&gt;&lt;span style="color: #800000"&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;&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;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(p[&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;]&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;==&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;true&lt;/span&gt;&lt;span style="color: #800000"&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;&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;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;&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;isDebug&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;true&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;txtLogger.Visibility&amp;nbsp;=&amp;nbsp;Visibility.Visible;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;debugRow.Height&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;GridLength(&lt;/span&gt;&lt;span style="color: #800080"&gt;100&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.pivotMdxDesignerControl.BeginDataLoad&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;EventHandler&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Ranet.AgOlap.Controls.General.DataLoaderEventArgs&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;(pivotMdxDesignerControl_BeginDataLoad);&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;&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;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;&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;/span&gt;&lt;span style="color: #0000ff"&gt;break&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;&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;/span&gt;&lt;span style="color: #0000ff"&gt;default&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;&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;/span&gt;&lt;span style="color: #0000ff"&gt;break&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;&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;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;&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;&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;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;add InitDebug();&amp;nbsp;method invoke in Init method;&lt;br /&gt;&amp;nbsp;add method pivotMdxDesignerControl_BeginDataLoad();&lt;br /&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('f1784362-c391-44f6-9f5f-6add78fd0876')"&gt;&lt;img style="display: none" id="code_img_opened_f1784362-c391-44f6-9f5f-6add78fd0876"  onclick="cnblogs_code_hide('f1784362-c391-44f6-9f5f-6add78fd0876',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt; &#xD;
&lt;div id="cnblogs_code_open_f1784362-c391-44f6-9f5f-6add78fd0876" &gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;pivotMdxDesignerControl_BeginDataLoad(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;object&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;sender,&amp;nbsp;Ranet.AgOlap.Controls.General.DataLoaderEventArgs&amp;nbsp;e)&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(isDebug)&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;{&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;txtLogger.Text&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;e.UserState;&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;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;add private variable bool isDebug = false;&lt;br /&gt;3. change file ranet-uilibrary-olap\UILibrary.Olap\Ranet.AgOlap\Controls\PivotMdxDesignerControl.cs&lt;br /&gt;&amp;nbsp;add private variable public event EventHandler&amp;lt;DataLoaderEventArgs&amp;gt; BeginDataLoad;&lt;br /&gt;&amp;nbsp;add event register in method Initialize() : m_ServerExplorer.OlapDataLoader.BeginDataLoad += this.BeginDataLoad;&lt;br /&gt;4. change file UITest.Silverlight\Page.xaml&lt;br /&gt;&amp;nbsp;add new TextBox control txtLogger&amp;nbsp;at proper place&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('6b5f2b7b-663e-47ce-93a3-f40a994c924a')"&gt;&lt;img style="display: none" id="code_img_opened_6b5f2b7b-663e-47ce-93a3-f40a994c924a"  onclick="cnblogs_code_hide('6b5f2b7b-663e-47ce-93a3-f40a994c924a',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt; &#xD;
&lt;div id="cnblogs_code_open_6b5f2b7b-663e-47ce-93a3-f40a994c924a" &gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Grid&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="LayoutRoot"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Loaded&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Init"&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;Grid.ColumnDefinitions&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;&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;ColumnDefinition&amp;nbsp;&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;Grid.ColumnDefinitions&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;Grid.RowDefinitions&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;&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;RowDefinition&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;&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;RowDefinition&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="debugRow"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Height&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="0"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000"&gt;here&lt;/span&gt;&lt;span style="color: #008000"&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;Grid.RowDefinitions&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;Samples:MyDesigner&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;Grid.Row&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="0"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Grid.Column&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="0"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;x:Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="pivotMdxDesignerControl"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&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;TextBox&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="txtLogger"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Grid.Row&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Grid.Column&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="0"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000"&gt;here&lt;/span&gt;&lt;span style="color: #008000"&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;Grid&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;5. change file ranet-uilibrary-olap\UILibrary.Olap\Ranet.AgOlap\Controls\General\OlapDataLoader.cs&lt;br /&gt;&amp;nbsp;add method invoke in LoadData(OlapActionBase schema, object state) : Raise_BeginDataLoad(new DataLoaderEventArgs(null, null, service.Endpoint.Address.Uri.ToString()));&lt;br /&gt;&amp;nbsp;add method Raise_BeginDataLoad(DataLoaderEventArgs args)&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('708a611d-fb51-4c70-8027-6a23b619b0e6')"&gt;&lt;img style="display: none" id="code_img_opened_708a611d-fb51-4c70-8027-6a23b619b0e6"  onclick="cnblogs_code_hide('708a611d-fb51-4c70-8027-6a23b619b0e6',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt; &#xD;
&lt;div id="cnblogs_code_open_708a611d-fb51-4c70-8027-6a23b619b0e6" &gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Raise_BeginDataLoad(DataLoaderEventArgs&amp;nbsp;args)&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EventHandler&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;DataLoaderEventArgs&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;handler&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.BeginDataLoad;&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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(handler&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;!=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;null&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;handler(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;args);&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;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;add public variable : public event EventHandler&amp;lt;DataLoaderEventArgs&amp;gt; BeginDataLoad;&lt;br /&gt;6. change file ranet-uilibrary-olap\UILibrary.Olap\Ranet.AgOlap\Controls\General\IDataLoader.cs&lt;br /&gt;&amp;nbsp;add variable in interface IDataLoader : event EventHandler&amp;lt;DataLoaderEventArgs&amp;gt; BeginDataLoad;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/andy65007/aggbug/1788964.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/andy65007/archive/2010/07/30/1788964.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/andy65007/archive/2010/07/14/1777317.html</id><title type="text">非域账户如何连接SQL Server Analysis Service</title><summary type="text">下文使用AS指代SQL Server Analysis Service在程序中连接SQL Server Analysis Service的方法有3种：方法一：使用AS的连接字符串直接连接(客户端程序与AS Server在同一个域中）如：&amp;lt;add name="ConnectionString1" connectionString="Data Source=172.19.38.62;Initia...</summary><published>2010-07-14T08:05:00Z</published><updated>2010-07-14T08:05:00Z</updated><author><name>andy65007</name><uri>http://www.cnblogs.com/andy65007/</uri></author><link rel="alternate" href="http://www.cnblogs.com/andy65007/archive/2010/07/14/1777317.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/andy65007/archive/2010/07/14/1777317.html"/><content type="html">&lt;p&gt;&lt;span style="color: #808080; font-size: 10pt"&gt;下文使用AS指代SQL Server Analysis Service&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;在程序中连接SQL Server Analysis Service的方法有3种：&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;方法一：使用AS的连接字符串直接连接(客户端程序与AS Server在同一个域中）&lt;/p&gt;&#xD;
&lt;p&gt;如：&amp;lt;add name="ConnectionString1" connectionString="Data Source=172.19.38.62;Initial Catalog=databaseName;"/&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;方法二：使用SQL AS本身提供的IIS Web站点程序isapi间接连接（&lt;font color="#808080" size="2"&gt;客户端程序与AS Server不在同一个域中（PS：本人未验证，应该可以）&lt;/font&gt;）&lt;/p&gt;&#xD;
&lt;p&gt;详细步骤请参考：&lt;a href="http://www.microsoft.com/china/technet/prodtechnol/sql/2005/httpasws.mspx"&gt;http://www.microsoft.com/china/technet/prodtechnol/sql/2005/httpasws.mspx&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;连接字符串：&amp;lt;add name="ConnectionString1" connectionString="Provider=MSOLAP.3;Initial Catalog=databaseName;Data Source=http://localhost/olap/msmdpump.dll;"/&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 8pt"&gt;注意2点：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 8pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ：配置好的站点地址使用IE直接访问会显示500服务器端错误，属于正常状况，不用怀疑，使用程序连接那个地址就可以了&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 8pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ：在AS的服务器端需要使用SQL Management Studio程序配置AS服务器的Security（权限），允许本机IUSR用户账户访问&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;方法三：（比较怪异，但可以解决不在同一个域中的客户端连接AS服务器）&lt;br /&gt;有A、B两台PC，A PC上的程序（如任意.net应用程序或SQL Management Studio）需要访问B PC的AS，由于AS 提供的默认连接方式为域用户连接，所以如果A PC和B PC不在同一个域或A登录用户不是域账户，此时可以通过如下方法从A连接到B的AS：&lt;/p&gt;&#xD;
&lt;ol&gt;&lt;li&gt;在B Server上新建本地用户（如AnalysisTestUser）&lt;br /&gt;开始-&amp;gt;右键点击我的电脑-&amp;gt;管理-&amp;gt;本地用户和组-&amp;gt;右键点击用户-&amp;gt;新用户-&amp;gt;输入AnalysisTestUser，勾选密码永不过期&lt;/li&gt;&lt;li&gt;配置B权限：在B Server上打开Management Studio，连接到本地AS，展开需要连接数据库-&amp;gt;右键点击Roles目录-&amp;gt;选择New Role...-&amp;gt;输入Role Name（如Role1）-&amp;gt;从左侧选择Membership-&amp;gt;点击Add，添加AnalysisTestUser用户&lt;/li&gt;&lt;li&gt;在A Server注销当前用户，然后使用刚创建的AnalysisTestUser登录 &lt;/li&gt;&lt;/ol&gt;&#xD;
&lt;p&gt;OK，现在A PC上的程序可以连接到B PC的AS了；其实只要保证A、B两PC有共同的本地用户账户名称，并在B上AS中配置了该账户权限即可&lt;/p&gt;&lt;/span&gt;&lt;img src="http://www.cnblogs.com/andy65007/aggbug/1777317.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/andy65007/archive/2010/07/14/1777317.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/andy65007/archive/2010/07/09/1774187.html</id><title type="text">Ranet.UILibrary.OLAP</title><summary type="text">简介Ranet.UILibrary.OLAP是一个开源Silverlight项目，用于在浏览器客户端显示Server端OLAP数据，其中包含很多控件（如Mdx Designer、Pivot Grid等等）可以方便的在客户端显示操作OLAP数据源。官方站点http://ranetuilibraryolap.codeplex.com/http://code.google.com/p/ranet-uil...</summary><published>2010-07-09T02:24:00Z</published><updated>2010-07-09T02:24:00Z</updated><author><name>andy65007</name><uri>http://www.cnblogs.com/andy65007/</uri></author><link rel="alternate" href="http://www.cnblogs.com/andy65007/archive/2010/07/09/1774187.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/andy65007/archive/2010/07/09/1774187.html"/><content type="html">&lt;p&gt;&lt;strong&gt;简介&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Ranet.UILibrary.OLAP是一个开源Silverlight项目，用于在浏览器客户端显示Server端OLAP数据，其中包含很多控件（如Mdx Designer、Pivot Grid等等）可以方便的在客户端显示操作OLAP数据源。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;官方站点&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://ranetuilibraryolap.codeplex.com/" target="_blank"&gt;http://ranetuilibraryolap.codeplex.com/&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a  href="http://code.google.com/p/ranet-uilibrary-olap/" target="_blank"&gt;&lt;font color="#3e62a6"&gt;http://code.google.com/p/ranet-uilibrary-olap/&lt;span &gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;获取源代码&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;源代码使用Mercurial repository 存放于Google服务器上，所以要下载源代码必须先安装Mercurial 的客户端工具，客户端工具可以从&lt;a href="http://mercurial.selenic.com/" target="_blank"&gt;http://mercurial.selenic.com/&lt;/a&gt;下载，下载安装后可以在命令提示符中输入hg验证是否安装正确。使用下面命令可以将server端代码克隆到本地当前目录下&lt;/p&gt;&#xD;
&lt;p&gt;hg clone &lt;a href="https://ranet-uilibrary-olap.googlecode.com/hg/" target="_blank"&gt;https://ranet-uilibrary-olap.googlecode.com/hg/&lt;/a&gt; ranet-uilibrary-olap&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;必要组建&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;安装Microsoft&amp;#174; Silverlight&amp;#8482; 3 SDK : &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=1EA49236-0DE7-41B1-81C8-A126FF39975B&amp;amp;displaylang=zh-cn" target="_blank"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=1EA49236-0DE7-41B1-81C8-A126FF39975B&amp;amp;displaylang=zh-cn&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;安装Silverlight Toolkit：&lt;a href="http://silverlight.codeplex.com/" target="_blank"&gt;http://silverlight.codeplex.com/&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;安装Microsoft&amp;#174; Silverlight&amp;#8482; Tools for Visual Studio 2008 SP1 &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&amp;amp;familyid=9442b0f2-7465-417a-88f3-5e7b5409e9dd" target="_blank"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&amp;amp;familyid=9442b0f2-7465-417a-88f3-5e7b5409e9dd&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;运行项目&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;ol&gt;&lt;li&gt;打开项目Solution文件ranet-uilibrary-olap\UILibrary.Olap\UILibrary.Olap.HG.sln&lt;/li&gt;&lt;li&gt;&#xD;
&lt;p&gt;在Visual Studio中修改工程&amp;nbsp;Ranet.AgOlap的Reference引用项&lt;/p&gt;&#xD;
&lt;p&gt;System.Windows.Controls.Input.Toolkit.dll&lt;/p&gt;&#xD;
&lt;p&gt;System.Windows.Controls.Layout.Toolkit.dll&lt;/p&gt;&#xD;
&lt;p&gt;System.Windows.Controls.Toolkit.dll&lt;/p&gt;&#xD;
&lt;p&gt;指向到C:\Program Files\Microsoft SDKs\Silverlight\v4.0\Toolkit\Apr10\Bin下对应文件&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&#xD;
&lt;p&gt;项目ranet-uilibrary-olap\UILibrary.Olap\!ProductInfo\!ProductInfo.csproj目录下缺少snk文件（密钥或密钥对的存储文件），生成密钥对snk文件可以用.net中的sn.exe命令：sn&amp;nbsp;&amp;nbsp;&amp;nbsp;-k&amp;nbsp;&amp;nbsp;&amp;nbsp;Galaktika.OpenSource.snk&amp;nbsp;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&#xD;
&lt;p&gt;在solution explorer中设置项目Samples/Ranet.UITest.Web为启动项目&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&#xD;
&lt;p&gt;F5启动程序&lt;/p&gt;&lt;img src="http://www.cnblogs.com/andy65007/aggbug/1774187.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/andy65007/archive/2010/07/09/1774187.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/andy65007/archive/2010/06/09/1755015.html</id><title type="text">SQL最好的Split函数</title><summary type="text">[代码]原文参考：http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=50648</summary><published>2010-06-09T12:05:00Z</published><updated>2010-06-09T12:05:00Z</updated><author><name>andy65007</name><uri>http://www.cnblogs.com/andy65007/</uri></author><link rel="alternate" href="http://www.cnblogs.com/andy65007/archive/2010/06/09/1755015.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/andy65007/archive/2010/06/09/1755015.html"/><content type="html">&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #0000ff"&gt;CREATE&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;FUNCTION&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;dbo.Split&lt;br /&gt;(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;@RowData&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;nvarchar&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;2000&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: #008000"&gt;@SplitOn&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;nvarchar&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;5&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;)&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;RETURNS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;@RtnValue&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;table&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;br /&gt;(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Id&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;identity&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Data&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;nvarchar&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;100&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;)&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;BEGIN&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;Declare&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;@Cnt&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&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;Set&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;@Cnt&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;While&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;Charindex&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #008000"&gt;@SplitOn&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;/span&gt;&lt;span style="color: #008000"&gt;@RowData&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;0&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;Begin&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;Insert&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;Into&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;@RtnValue&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(data)&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;Select&lt;/span&gt;&lt;span style="color: #000000"&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;Data&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;ltrim&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;rtrim&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;Substring&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #008000"&gt;@RowData&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;Charindex&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #008000"&gt;@SplitOn&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;/span&gt;&lt;span style="color: #008000"&gt;@RowData&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #808080"&gt;-&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;)))&lt;br /&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;Set&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;@RowData&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;Substring&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #008000"&gt;@RowData&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;Charindex&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #008000"&gt;@SplitOn&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;/span&gt;&lt;span style="color: #008000"&gt;@RowData&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #808080"&gt;+&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;len&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #008000"&gt;@RowData&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;Set&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;@Cnt&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;@Cnt&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;1&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;End&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;Insert&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;Into&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;@RtnValue&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(data)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;Select&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Data&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;ltrim&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;rtrim&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #008000"&gt;@RowData&lt;/span&gt;&lt;span style="color: #000000"&gt;))&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;Return&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;END&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;原文参考：&lt;a href="http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=50648" target="_blank"&gt;http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=50648&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/andy65007/aggbug/1755015.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/andy65007/archive/2010/06/09/1755015.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/andy65007/archive/2010/05/19/1739007.html</id><title type="text">SQL Server 2008表设计器中无法保存修改</title><summary type="text">当使用Microsoft SQL Server 2008 Management Studio时，有时在表设计器中对表所做的更改无法保存，具体表现为：点击保存按钮后弹出保存对话框提示：不允许保存修改(Saving changes is not permitted)，弹出的对话框只有2个按钮可以点击，一个Cancel一个Save Text File，前一个就不用说了，后一个保存的文件根本没意义（可以自...</summary><published>2010-05-19T03:12:00Z</published><updated>2010-05-19T03:12:00Z</updated><author><name>andy65007</name><uri>http://www.cnblogs.com/andy65007/</uri></author><link rel="alternate" href="http://www.cnblogs.com/andy65007/archive/2010/05/19/1739007.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/andy65007/archive/2010/05/19/1739007.html"/><content type="html">&lt;p&gt;当使用Microsoft SQL Server 2008 Management Studio时，有时在表设计器中对表所做的更改无法保存，具体表现为：点击保存按钮后弹出保存对话框提示：不允许保存修改(Saving changes is not permitted)，弹出的对话框只有2个按钮可以点击，一个Cancel一个Save Text File，前一个就不用说了，后一个保存的文件根本没意义（&lt;span style="color: #999999"&gt;可以自己试一下&lt;/span&gt;），而且在点击Cancel后还会提示：用户退出了保存对话框（&lt;span style="color: #999999; font-size: 10pt"&gt;无语，不让用户保存修改，最后还说是用户自愿的&lt;/span&gt;），这个挫设计导致用户当前所做的所有修改都无法保存。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;解决方法&lt;/strong&gt;可以根据错误描述中&amp;#8220;&lt;font color="#808080" size="2"&gt;enabled the option Prevent saving changes &lt;/font&gt;&amp;#8221;找到：&lt;/p&gt;&#xD;
&lt;p&gt;禁止这个警告显示，在Management Studio设计器中，点击菜单Tools &amp;gt; Options &amp;gt; Designers &amp;gt; Table and Database Designers &amp;gt;去掉选项Prevent saving changes that require the table to be re-created之前的复选框&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/andy65007/2.PNG" width="644" height="375" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;原因：&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;当前的修改动作会导致数据库表被删除，然后重新建立；如下原因会导致表需要重新建立&lt;/p&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;&#xD;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;保存对话框的完整错误描述：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #808080; font-size: 10pt"&gt;&amp;#8220;Saving changes is not permitted. The changes you have made require the following tables to be dropped and re-created. You have either made changes to a table that can&amp;#8217;t be re-created or enabled the option Prevent saving changes that require the table to be re-created.&amp;#8221;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #808080; font-size: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;em&gt;参见MSDN原文：&lt;/em&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb895146.aspx" target="_blank"&gt;&lt;em&gt;http://msdn.microsoft.com/en-us/library/bb895146.aspx&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/andy65007/aggbug/1739007.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/andy65007/archive/2010/05/19/1739007.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/andy65007/archive/2010/04/22/1718038.html</id><title type="text">如何用JavaScript获取和设置textfield中光标位置（转）</title><summary type="text">用JavaScript获取和设置textfield中光标位置原文：http://www.webdeveloper.com/forum/showthread.php?t=74982[代码]</summary><published>2010-04-22T06:38:00Z</published><updated>2010-04-22T06:38:00Z</updated><author><name>andy65007</name><uri>http://www.cnblogs.com/andy65007/</uri></author><link rel="alternate" href="http://www.cnblogs.com/andy65007/archive/2010/04/22/1718038.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/andy65007/archive/2010/04/22/1718038.html"/><content type="html">&lt;p&gt;用JavaScript获取和设置textfield中光标位置&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 8pt"&gt;&lt;em&gt;原文：&lt;/em&gt;&lt;/span&gt;&lt;a href="http://www.webdeveloper.com/forum/showthread.php?t=74982" target="_blank"&gt;&lt;span style="font-size: 8pt"&gt;&lt;em&gt;http://www.webdeveloper.com/forum/showthread.php?t=74982&lt;/em&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #0000ff"&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;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;body&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;style&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="font-family:&amp;nbsp;tahoma;&amp;nbsp;font-size:&amp;nbsp;8pt;"&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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;script&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;language&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="JavaScript"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;/*&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;**&amp;nbsp;&amp;nbsp;Returns&amp;nbsp;the&amp;nbsp;caret&amp;nbsp;(cursor)&amp;nbsp;position&amp;nbsp;of&amp;nbsp;the&amp;nbsp;specified&amp;nbsp;text&amp;nbsp;field.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;**&amp;nbsp;&amp;nbsp;Return&amp;nbsp;value&amp;nbsp;range&amp;nbsp;is&amp;nbsp;0-oField.length.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;*/&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;doGetCaretPosition&amp;nbsp;(oField)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;//&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&amp;nbsp;Initialize&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #0000ff"&gt;var&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;iCaretPos&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;=&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;0&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;//&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&amp;nbsp;IE&amp;nbsp;Support&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;(document.selection)&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;//&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&amp;nbsp;Set&amp;nbsp;focus&amp;nbsp;on&amp;nbsp;the&amp;nbsp;element&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oField.focus&amp;nbsp;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;//&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&amp;nbsp;To&amp;nbsp;get&amp;nbsp;cursor&amp;nbsp;position,&amp;nbsp;get&amp;nbsp;empty&amp;nbsp;selection&amp;nbsp;range&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #0000ff"&gt;var&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;oSel&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;=&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;document.selection.createRange&amp;nbsp;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;//&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&amp;nbsp;Move&amp;nbsp;selection&amp;nbsp;start&amp;nbsp;to&amp;nbsp;0&amp;nbsp;position&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oSel.moveStart&amp;nbsp;(&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;'&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;character&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;'&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;-&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;oField.value.length);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;//&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&amp;nbsp;The&amp;nbsp;caret&amp;nbsp;position&amp;nbsp;is&amp;nbsp;selection&amp;nbsp;length&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iCaretPos&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;=&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;oSel.text.length;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;//&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&amp;nbsp;Firefox&amp;nbsp;support&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #0000ff"&gt;else&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;(oField.selectionStart&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;||&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;oField.selectionStart&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;==&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;'&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;0&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;'&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iCaretPos&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;=&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;oField.selectionStart;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;//&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&amp;nbsp;Return&amp;nbsp;results&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;(iCaretPos);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;/*&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;**&amp;nbsp;&amp;nbsp;Sets&amp;nbsp;the&amp;nbsp;caret&amp;nbsp;(cursor)&amp;nbsp;position&amp;nbsp;of&amp;nbsp;the&amp;nbsp;specified&amp;nbsp;text&amp;nbsp;field.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;**&amp;nbsp;&amp;nbsp;Valid&amp;nbsp;positions&amp;nbsp;are&amp;nbsp;0-oField.length.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;*/&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;doSetCaretPosition&amp;nbsp;(oField,&amp;nbsp;iCaretPos)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;//&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&amp;nbsp;IE&amp;nbsp;Support&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;(document.selection)&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;//&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&amp;nbsp;Set&amp;nbsp;focus&amp;nbsp;on&amp;nbsp;the&amp;nbsp;element&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oField.focus&amp;nbsp;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;//&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&amp;nbsp;Create&amp;nbsp;empty&amp;nbsp;selection&amp;nbsp;range&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #0000ff"&gt;var&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;oSel&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;=&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;document.selection.createRange&amp;nbsp;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;//&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&amp;nbsp;Move&amp;nbsp;selection&amp;nbsp;start&amp;nbsp;and&amp;nbsp;end&amp;nbsp;to&amp;nbsp;0&amp;nbsp;position&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oSel.moveStart&amp;nbsp;(&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;'&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;character&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;'&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;-&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;oField.value.length);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;//&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&amp;nbsp;Move&amp;nbsp;selection&amp;nbsp;start&amp;nbsp;and&amp;nbsp;end&amp;nbsp;to&amp;nbsp;desired&amp;nbsp;position&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oSel.moveStart&amp;nbsp;(&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;'&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;character&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;'&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;,&amp;nbsp;iCaretPos);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oSel.moveEnd&amp;nbsp;(&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;'&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;character&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;'&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;0&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oSel.select&amp;nbsp;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;//&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&amp;nbsp;Firefox&amp;nbsp;support&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #0000ff"&gt;else&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;(oField.selectionStart&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;||&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;oField.selectionStart&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;==&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;'&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;0&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;'&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oField.selectionStart&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;=&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;iCaretPos;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oField.selectionEnd&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;=&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000"&gt;&amp;nbsp;iCaretPos;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oField.focus&amp;nbsp;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;script&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;form&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="blah"&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;Text&amp;nbsp;Field:&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;input&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="text"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="nameEdit"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=""&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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;input&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="button"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Get&amp;nbsp;Caret"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;onClick&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="document.getElementById('where').value=doGetCaretPosition&amp;nbsp;(document.forms[0].elements[0]);"&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;input&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;id&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="where"&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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;hr&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;size&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=1&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;noshade&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;New&amp;nbsp;Position:&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;input&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="text"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="newPosValue"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=""&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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;input&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="button"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Set&amp;nbsp;Caret"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;onClick&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="doSetCaretPosition&amp;nbsp;(document.blah.nameEdit,&amp;nbsp;parseInt&amp;nbsp;(document.blah.newPosValue.value));"&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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;form&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;&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;&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;html&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/andy65007/aggbug/1718038.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/andy65007/archive/2010/04/22/1718038.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
