﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-心静自然凉~ </title><link>http://www.cnblogs.com/zhucl1006/</link><description>一杯清茶、二盏淡酒、邀三五知己，诉七八句心语，道九分珍重，怀十分真诚，或伤感、或快乐，无现实之隔阂 、无世俗之势利，如此人生，不亦乐乎!</description><language>zh-cn</language><lastBuildDate>Tue, 18 Nov 2008 14:20:12 GMT</lastBuildDate><pubDate>Tue, 18 Nov 2008 14:20:12 GMT</pubDate><ttl>60</ttl><item><title>Englive.cn 英语 学习 在线背单词 - 语句本</title><link>http://www.cnblogs.com/zhucl1006/archive/2008/11/05/1327325.html</link><dc:creator>Leo.Zhu</dc:creator><author>Leo.Zhu</author><pubDate>Wed, 05 Nov 2008 06:45:00 GMT</pubDate><guid>http://www.cnblogs.com/zhucl1006/archive/2008/11/05/1327325.html</guid><wfw:comment>http://www.cnblogs.com/zhucl1006/comments/1327325.html</wfw:comment><comments>http://www.cnblogs.com/zhucl1006/archive/2008/11/05/1327325.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhucl1006/comments/commentRss/1327325.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhucl1006/services/trackbacks/1327325.html</trackback:ping><description><![CDATA[<p>&nbsp;</p> <p><a href="http://www.englive.cn/el/biz/collection/collectionSentence.action">Englive.cn 英语 学习 在线背单词 - 语句本</a></p> <p>&nbsp;</p> <p>Good</p><img src ="http://www.cnblogs.com/zhucl1006/aggbug/1327325.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43598/" target="_blank">[新闻]应用程序架构指导包2.0 Beta 2发布</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Ext API 收集</title><link>http://www.cnblogs.com/zhucl1006/archive/2008/09/04/1284630.html</link><dc:creator>Leo.Zhu</dc:creator><author>Leo.Zhu</author><pubDate>Thu, 04 Sep 2008 12:23:00 GMT</pubDate><guid>http://www.cnblogs.com/zhucl1006/archive/2008/09/04/1284630.html</guid><wfw:comment>http://www.cnblogs.com/zhucl1006/comments/1284630.html</wfw:comment><comments>http://www.cnblogs.com/zhucl1006/archive/2008/09/04/1284630.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhucl1006/comments/commentRss/1284630.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhucl1006/services/trackbacks/1284630.html</trackback:ping><description><![CDATA[<p><strong style="FONT-SIZE: 1.2em">EXT核心API详解(一) - Ext类</strong><br/>Ext类<br/>addBehaviors( Object obj ) : void<br/>对选择的元素 应用事件侦听器,事件名以@附加在结尾,例如<br/>addBehaviors({<br/>// id=foo下所有的a标签加入click事件<br/>'#foo <a href="mailto:a@click'">a@click'</a> : function(e, t){<br/>// do something<br/>},<br/>// 用,分隔多个选择器<br/>'#foo a, #bar <a href="mailto:span.some-class@mouseover'">span.some-class@mouseover'</a> : function(){<br/>// do something<br/>}<br/>});</p>
<p>apply( Object obj, Object config, Object defaults ) : Object<br/>从config拷贝所有的属性到obj,如果有defaults参数,也将拷贝其属性到obj</p>
<p>applyIf( Object obj, Object config ) : Object<br/>从config拷贝所有属性至obj(如果obj未定义相应属性)</p>
<p>decode(Object obj) : String<br/>编码一个对象/数组或其它值为一个json格式字符串(支持对象,数组,日期,字符串)</p>
<p>destroy( Mixed arg1, Mixed (optional), Mixed (optional) ) : void<br/>尝试去移除每个传入的对象,包括DOM,事件侦听者,并呼叫他们的destroy方法(如果存在)</p>
<p>each( Array/NodeList/Mixed array, Function fn, Object scope ) : void<br/>利用array中的每个元素迭代调用fn.直到fn返回假,调用格式fn.call(scope || array[i], array[i], i, array);</p>
<p>encode(String json) : Object<br/>将一个json格式字符串反序列化为对象</p>
<p>escapeRe( String str ) : String<br/>为字符串正则编码将.在*+?^${}()|[]/\字符前加\</p>
<p>extend( Object subclass, Object superclass, [Object overrides] ) : void<br/>从superclass类继承subclass,overrides参数是要重载的方法列表,详见override</p>
<p>fly( String/HTMLElement el, [String named] ) : Element<br/>得到全局共享的一个浮动元素el,如果有多个浮动元素可以使用命名以避免潜在的冲突</p>
<p>get( Mixed el ) : Element<br/>得到一个Element对象,参数可以是id或DOM节点或已存在的Element对象</p>
<p>getBody() : Element<br/>得到当前文档的body对象</p>
<p>getCmp( String id ) : Component<br/>通过id得到一个Component对象</p>
<p>getDoc() : Element<br/>得到当前文档</p>
<p>getDom( Mixed el ) : HTMLElement<br/>通过id或节点或Element对象返回一个DOM节点</p>
<p>id( [Mixed el], [String prefix] ) : String<br/>为对象el生成一个惟一id,如果对象本身已有id,将不会被改变(可以使用前导符prefix)</p>
<p>isEmpty( Mixed value, [Boolean allowBlank] ) : Boolean<br/>判断值是否为空,null, undefined或空字符串将返回真,如果allowBlank定义为真,空字符串将不被视为空</p>
<p>namespace( String namespace1, String namespace2, String etc ) : void<br/>创建一个命名空间,例<br/>Ext.namespace('Company', 'Company.data');<br/>Company.Widget = function() { ... }<br/>Company.data.CustomStore = function(config) { ... }</p>
<p>num( Mixed value, Number defaultValue ) : Number<br/>将value转为数值,如果value不是合法的数值类型,将返回defaultValue,其实defaultValue并不一定要求是数值类型,只要你愿意</p>
<p>onReady( Function fn, Object scope, boolean override ) : void<br/>当文档准备好了之后引发fn,发生在page的onload事件之前,并且图片此时都还没有载入,scope定义执有者,override定义scope是否有默认的选择</p>
<p>override( Object origclass, Object overrides ) : void<br/>利用overrides重写origclass的方法,例<br/>Ext.override(MyClass, {<br/>newMethod1: function(){<br/>// etc.<br/>},<br/>newMethod2: function(foo){<br/>// etc.<br/>}<br/>});</p>
<p>query( String path, [Node root] ) : Array<br/>通过path,在root中选择节点数组,path可以是以下四种选择器之一<br/>[元素选择器] 例:<br/>* 任意节点<br/>E 一个E标签元素<br/>E F 祖先节点为E的F节点<br/>E &gt; F 或 E/F 父节点为E的F节点<br/>E + F 前一个兄弟节点为E的F节点<br/>E ~ F 前面的兄弟节点中有E的F节点<br/>[属性选择器] 例:<br/>E[foo] 有foo属性的E节点<br/>E[foo=bar] 有foo属性值为bar的E节点<br/>E[foo^=bar] foo属性以bar开始的E节点<br/>E[foo$=bar] foo属性以bar结尾的E节点<br/>E[foo*=bar] foo属性中有bar字符串的E节点<br/>E[foo%=2] foo属性能被2整除的E节点<br/>E[foo!=bar] foo属性值不为bar的E节点<br/>[伪类选择器] 例:<br/>E:first-child E节点是父节点中第一个子节点<br/>E:last-child E节点是父节点中最后一个子节点<br/>E:nth-child(n) E是父节点中每n个节点<br/>E:nth-child(odd) E是父节点中的奇数节点<br/>E:nth-child(even) E是父节点中的偶数节点<br/>E:only-child E是父节点中惟一的子节点<br/>E:checked checked属性为真的节点<br/>E:first 子孙节点中的第一个E节点<br/>E:last 子孙节点中的最后一个E节点<br/>E:nth(n) 子孙节点中的第n个E节点<br/>E:odd E:nth-child(odd)的简写<br/>E:even E:nth-child(even)的简写<br/>E:contains(foo) innerHTML属性中含有foo的E节点<br/>E:nodeValue(foo) E节点中包含一个值为foo的文本节点<br/>E:not(S) 不匹配简单选择器S的E节点<br/>E:has(S) 有能匹配简单选择器S的子节点的E节点<br/>E:next(S) 下一个兄弟节匹配简单选择器S的E节点<br/>E:prev(S) 前一个兄弟节匹配简单选择器S的E节点<br/>type( Mixed object ) : String<br/>判断对象类型,如果不是下列值之一将返回false<br/>[样式选择器] 例:<br/>E{display=none} display属性值为none的E节点<br/>E{display^=none} display属性值以none开始的E节点<br/>E{display$=none} display属性值以none结束的E节点<br/>E{display*=none} display属性值含有none子字串的E节点<br/>E{display%=2} display属性值能被2整除的E节点<br/>E{display!=none} display属性值不等于none的E节点</p>
<p>select( String/Array selector, [Boolean unique], [HTMLElement/String root] ) :CompositeElementLite/CompositeElement<br/>在root内通过样式选择器或元素数组selector选择元素或元素列表,unique指示是否只选择惟一值</p>
<p>urlDecode( String string, [Boolean overwrite] ) : Object<br/>将url格式字符串string解码为json对象,overwrite参数指示是否不重写已存在的对象,例<br/>Ext.urlDecode("foo=1&amp;bar=2"); //返回 {foo: 1, bar: 2}<br/>Ext.urlDecode("foo=1&amp;bar=2&amp;bar=3&amp;bar=4"); //返回 {foo: 1, bar: 4}.<br/>Ext.urlDecode("foo=1&amp;bar=2&amp;bar=3&amp;bar=4", true); //返回 {foo: 1, bar: [2, 3, 4]}.</p>
<p>urlEncode( Object o ) : String<br/>将json对象编码为url格式字符串,参见urlDecode</p>
<p>type( Mixed object ) : String<br/>得到object类型,如果不为以下列举值之一则返回false<br/>string/number/boolean/function/object/array/regexp/element/nodelist/textnode/whitespace</p>
<p>EXT核心API详解(二)-Array/Date/Function/Number/String</p>
<p>Array类<br/>indexOf( Object o ) : Number<br/>object是否在数组中,找不到返回-1;找到返回位置<br/>remove( Object o ) : Array<br/>从数组中删除指定的对象object,如果找不到object则数组无变化</p>
<p>Number类<br/>constrain( Number min, Number max ) : Number<br/>检查数值是否介于min与max之间, 如果大于max 返回max,如果小于min返回min, 否则返回当前值</p>
<p>String类<br/>escape( String string ) : String<br/>将string中的'和\替换为\' \\</p>
<p>format( String string, String value1, String value2 ) : String<br/>格式化字符串,例:<br/>var cls = 'my-class', text = 'Some text';<br/>var s = String.format('&lt;div class="{0}"&gt;{1}&lt;/div&gt;', cls, text);// 结果 &lt;div class="my-class"&gt;Some text&lt;/div&gt;</p>
<p>leftPad( String string, Number size, [String char] ) : String<br/>以char将string补齐为size长度,char默认定义空格</p>
<p>toggle( String value, String other ) : String<br/>交换值,如果当前值等于value,则被赋值other,反之等于value,例:<br/>sort = sort.toggle('ASC', 'DESC');</p>
<p>trim() : String<br/>去除开头或结尾多余的空格</p>
<p><br/>Date类<br/>Date.parseDate( String input, String format ) : Date<br/>将字符串string依指定的格式format转换为时间,其中格式定义详见format方法<br/>例:dt = Date.parseDate("2006-01-15 3:20:01 PM", "Y-m-d h:i:s A" );</p>
<p><br/>add( String interval, Number value ) : Date<br/>增加时间段,String interval在Data类中已定义<br/>Date.MILLI = "ms";<br/>Date.SECOND = "s";<br/>Date.MINUTE = "mi";<br/>Date.HOUR = "h";<br/>Date.DAY = "d";<br/>Date.MONTH = "mo";<br/>Date.YEAR = "y";<br/>例var dt2 = new Date('10/1/2006').add(Date.DAY, -5);</p>
<p>between( Date start, Date end ) : Boolean<br/>是否在两个指定的时间之间</p>
<p>clearTime( Boolean clone ) : Date<br/>清除时间信息,如果clone为真,则克隆自已并返回新Date,本身的值并不改变,反之则修改自身的值</p>
<p>clone() : Date<br/>克隆</p>
<p>format( String format ) : String<br/>格式化时间<br/>d 两位数的日期 01 至 31<br/>D 三字母的星期名 Mon 至 Sun<br/>j 一位数的日期 1 至 31<br/>l 完整的星期名 Sunday 至 Saturday<br/>S 日期的英文顺序刻词尾,两个字符 st, nd, rd or th.<br/>w 一周中的第几天 0 (星期天) 至 6 (星期六)<br/>z 一年中的第几天 0 至 364 (闰年365 )<br/>W ISO-8601 星期数, 周一算一个星期的开始 1 至 53<br/>F 月的完整英文名 January 至 December<br/>m 月,以0前导 01 至 12<br/>M 三字母的简写月名 Jan 至 Dec<br/>n 月 1 至 12<br/>t 本月有多少天 28 至 31<br/>L 是否闰年 1/0<br/>Y 完整的年份 例: 1999 或 2003<br/>y 年的后两位 例: 99 或 03<br/>a 上午/下午小写 am 或 pm<br/>A 上午/下午大写 AM 或 PM<br/>g 小时/12小时制 1 至 12<br/>G 小时/24小时制 0 至 23<br/>h 小时/12小时制 01 至 12<br/>H 小时/24小时制 00 至 23<br/>i 分钟 00 至 59<br/>s 秒 00 至 59<br/>u 毫秒 001 至 999<br/>O 时区,与格林威治标准时间之差 例: +0200<br/>T 时区简写 例: EST, MDT ...<br/>Z 时区间距 -43200 至 50400<br/>其中Date类内置了几种格式<br/>Date.patterns = {<br/>ISO8601Long:"Y-m-d H:i:s",<br/>ISO8601Short:"Y-m-d",<br/>ShortDate: "n/j/Y",<br/>LongDate: "l, F d, Y",<br/>FullDateTime: "l, F d, Y g:i:s A",<br/>MonthDay: "F d",<br/>ShortTime: "g:i A",<br/>LongTime: "g:i:s A",<br/>SortableDateTime: "Y-m-d\\TH:i:s",<br/>UniversalSortableDateTime: "Y-m-d H:i:sO",<br/>YearMonth: "F, Y"<br/>};<br/>当然ISO8601Long和ISO8601Short还是非常招人喜欢的<br/>例:<br/>dt.format(Date.patterns.ISO8601Long);<br/>dt.format('Y-m-d H:i:s');</p>
<p>getDayOfYear() : Number<br/>一年中的第几天,从0开始</p>
<p>getDaysInMonth() : Number<br/>本月有多少天,</p>
<p>getElapsed( [Date date] ) : Number<br/>当前日期对象与date之间相差的毫秒数</p>
<p>getFirstDateOfMonth() : Date<br/>本月的第一天</p>
<p>getFirstDayOfMonth() : Number<br/>本月第一天是星期几</p>
<p>getGMTOffset() : String<br/>时区信息(见格式定义中的'O')<br/>getFirstDateOfMonth() : Date<br/>本月最后一天</p>
<p>getFirstDayOfMonth() : Number<br/>本月最后一天是星期几</p>
<p>getSuffix() : String<br/>日期后导符(见格式定义中的S)</p>
<p>getTimezone() : String<br/>时区(见T)</p>
<p>getWeekOfYear() : Number<br/>一年中的第几周(见W)</p>
<p>isLeapYear() : Boolean<br/>是否闰年</p>
<p><br/>Function类<br/>createCallback(/*args...*/) : Function<br/>创建回叫方法</p>
<p>createDelegate( [Object obj], [Array args], [Boolean/Number appendArgs] ) :<br/>创建委托<br/>这两个记法除了传参方式不同,看不出有什么差异都是调用method.apply,createCallback可以看作一个简化版的createDelegate<br/>createCallback==&gt;return method.apply(window, args);<br/>createDelegate==&gt;return method.apply(obj || window, callArgs);<br/>前者参数比较简单,直接传过去了,后者的规则比较复杂点,如果appendArgs为真,args将附加在参数列表之后,如果是数值,args将在参数列表的appendargs位置插入,其它情况下原参将不起作用<br/>例:<br/>var fn = func1.createDelegate(scope, [arg1,arg2], true)<br/>//fn(a,b,c) === scope.func1(a,b,c,arg1,arg2);<br/>var fn = func1.createDelegate(scope, [arg1,arg2])<br/>//fn(a,b,c) === scope.func1(arg1,arg2);<br/>var fn = func1.createDelegate(scope, [arg1,arg2], 1)<br/>//fn(a,b,c) === scope.func1(a,arg1,arg2,b,c);<br/>var fn = func1.createCallback(arg1, arg2);<br/>//fn() === func1(arg1, arg2)</p>
<p>createCallback : function(/*args...*/)</p>
<p>createInterceptor( Function fcn, [Object scope] ) : Function<br/>创建阻断方法,如果fcn返回false,原方法将不会被执行</p>
<p>createSequence( Function fcn, [Object scope] ) : Function<br/>创建组合方法,执行原方法+fcn</p>
<p>defer( Number millis, [Object obj], [Array args], [Boolean/Number appendArgs] ):Number<br/>定时执行，隔millis毫秒后执行原方法</p>
<p>EXT核心API详解(三)-Ext.Element</p>
<p>Ext.Element类</p>
<p>Element( String/HTMLElement element, [Boolean forceNew] )<br/>由id或DOM节点创建Element对象</p>
<p>Element.fly( String/HTMLElement el, [String named] ) : Element<br/>由id或DOM节点创建一个全局共享的活动元素,可由named命名以避免可能的冲突</p>
<p>Element.get( Mixed el ) : Element<br/>由id或DOM节点或已存在的Element得到一个Ext.Element对象</p>
<p>addClass( String/Array className ) : Ext.Element<br/>为元素添加一个或多个css类名</p>
<p>addClassOnClick( String className ) : Ext.Element<br/>为点击事件添加和移除css类</p>
<p>addClassOnFocus( String className ) : Ext.Element<br/>为得到和失去焦点添加和移除css类</p>
<p>addClassOnOver( String className, [Boolean preventFlicker] ) : Ext.Element<br/>为鼠标移入移出事件添加和移除css类(该方法未实际使用preventFlicker参数)</p>
<p>addKeyListener( Number/Array/Object/String key, Function fn, [Object scope] ) : Ext.KeyMap<br/>为对象添加按键侦听 key由数值或字符串或{key: (number or array), shift: (true/false), ctrl: (true/false), alt: (true/false)}这样的对象或他们的数组组成</p>
<p>addKeyMap( Object config ) : Ext.KeyMap<br/>功能同addKeyListener,只是传参方式不同<br/>例:<br/>el.addKeyMap({key : "ab",ctrl : true,fn: fn,scope:el });<br/>和<br/>el.addKeyListener({key:"ab",ctrl:true},fn,el);<br/>是等价的,都是在 按下ctral+a或ctrl+b后呼叫fn</p>
<p>addListener( String eventName, Function fn, [Object scope], [Object options] ) : void<br/>定义事件侦听,<br/>eventName:事件名,<br/>fn:事件处理方法,<br/>scrope:范围,<br/>其中options的定义比较复杂,可以包含以下属性<br/>scope {Object} : 处理fn的范围<br/>delegate {String} : 一个简单选择器(过滤目标或寻找目标的子孙节点)<br/>stopEvent {Boolean} : 阻止事件,等于preventDefault+stopPropagation<br/>preventDefault {Boolean} : 阻止默认活动<br/>stopPropagation {Boolean} : 阻止事件冒泡<br/>normalized {Boolean} :设为flase将允许浏览器事件替代Ext.EventObject<br/>delay {Number} : 延时多少毫秒后发生<br/>single {Boolean} : 只运行一次<br/>buffer {Number} : 在Ext.util.DelayedTask中预定事件<br/>当然,还可能自定义参数以传入function</p>
<p><br/>alignTo( Mixed element, String position, [Array offsets], [Boolean/Object animate] ) : Ext.Element<br/>将el对齐到element,positon,指示对齐的位置,可选以下定义<br/>tl 左上角(默认)<br/>t 上居中<br/>tr 右上角<br/>l 左边界的中央<br/>c 居中<br/>r 右边界的中央<br/>bl 左下角<br/>b 下居中<br/>br 右下角<br/>position还可以使用?约束移动不能超出窗口<br/>offsets 偏移量,以象素为单位<br/>animate 详见animate定义</p>
<p>例:div1.alignTo('div2','c-bl?',[20,0],true);<br/>采用默认动画将div1的最中央对齐到div2的左下角,并右移20个象素,且不能超出窗口</p>
<p>anchorTo( Mixed element, String position, [Array offsets], [Boolean/Object animate], [Boolean/Number monitorScroll], Function callback ) : Ext.Element<br/>功能和alignTo类似,只是当窗口重定义大小的时候也会引发重对齐事件<br/>monitorScroll参数说明是否需要监视滚动条行为,如果定义为数值则是定义的延时,单位为毫秒,默认是50ms,<br/>callback定义了animate完成后的回叫方法</p>
<p>animate( Object args, [Float duration], [Function onComplete], [String easing], [String animType] ) : Ext.Element<br/>执行动画.<br/>args:目标<br/>duration:时间间隔.默认是0.35<br/>Function:完成后的回叫方法<br/>easing:行为方法 默认值是:easeOut,可选值在ext_base中找到,但没有说明,<br/>以下内容从yahoo ui中找到的<br/>easeNone:匀速<br/>easeIn:开始慢且加速<br/>easeOut:开始快且减速<br/>easeBoth:开始慢且减速<br/>easeInStrong:开始慢且加速,t的四次方<br/>easeOutStrong:开始快且减速,t的四次方<br/>easeBothStrong:开始慢且减速,t的四次方<br/>elasticIn:<br/>elasticOut:<br/>elasticBoth:<br/>backIn:<br/>backOut:<br/>backBoth:<br/>bounceIn:<br/>bounceOut:<br/>bounceBoth:<br/>太多,慢慢体会吧<br/>animType:定义动画类型,默认值run 可选值:color/motion/scroll</p>
<p><br/>appendChild( String/HTMLElement/Array/Element/CompositeElement el ) : Ext.Element<br/>添加子元素el(el须已存在)</p>
<p>appendTo( Mixed el ) : Ext.Element<br/>将当前元素添加到el</p>
<p>applyStyles( String/Object/Function styles ) : Ext.Element<br/>应用样式,styles是"width:100px"这样的字符串或{width:"100px"}这样的对象,function是指返回这样的字串和对象的函数,这是一个没有用的批示,因为任何传参的地方都可以是返回要求类型的function.另见setStyle</p>
<p>autoHeight( [Boolean animate], [Float duration], [Function onComplete], [String easing] ) : Ext.Element<br/>自适应高度,参数都是老相识了,惟一需要注意的是这个方法使用了setTimeout,高度不会马上变更</p>
<p>blur() : Ext.Element<br/>失去焦点,忽略所有的异常</p>
<p>boxWrap( [String class] ) : Ext.Element<br/>用一个指定样式class的div将当前元素包含起来,class默认值为x-box</p>
<p>center( [Mixed centerIn] ) : void<br/>alignTo的简华版.相当于alignTo(centerIn || document, 'c-c'),当前元素的中心对齐到centerIn元素的中心</p>
<p>child( String selector, [Boolean returnDom] ) : HTMLElement/Ext.Element<br/>依selector选择子孙节点,依returnDom不同批示返回html元素还是ext元素,未定义或false时返回Ext.Element</p>
<p>clean( [Boolean forceReclean] ) : void<br/>清除无用的空白文本节点(我喜欢这个想法)</p>
<p>clearOpacity() : Ext.Element<br/>清除当前元素样式中不通用元素,清除ie中的filter,清除FF中的opacity/-moz-opacity/-khtml-opacity</p>
<p>clearPositioning( [String value] ) : Ext.Element<br/>清除定位,恢复到默认值,相当于<br/>this.setStyle({"left": value,"right": value,"top": value,"bottom": value,"z-index": "","position" : "static"});</p>
<p>clip() : Ext.Element<br/>裁剪溢出部分,用unclip()恢复</p>
<p>contains( HTMLElement/String el ) : Boolean<br/>当前元素中是否存在el</p>
<p>createChild( Object config, [HTMLElement insertBefore], [Boolean returnDom] ) : Ext.Element<br/>创建一个新的子节点<br/>config :DomHelper元素对象,如果没有特别指明tag,将使用div做默认tag,详情参见DomHelper,如果未定义insertBefore,则追加</p>
<p>createProxy( String/Object config, [String/HTMLElement renderTo], [Boolean matchBox] ) : Ext.Element<br/>创建一个代理元素<br/>config:代理元素的类名或DomHelper config对象<br/>renderTo:将要绘制代理元素的html element或id<br/>matchBox:是否对齐</p>
<p>createShim() : Ext.Element<br/>在当前元素之前创建一个classname为ext-shim的iframe,有什么用?</p>
<p>down( String selector, [Boolean returnDom] ) : HTMLElement/Ext.Element<br/>通过样式选择器selector选择子孙节点</p>
<p>enableDisplayMode( [String display] ) : Ext.Element<br/>setVisibilityMode的简便方法</p>
<p>findParent( String selector, [Number/Mixed maxDepth], [Boolean returnEl] ) : HTMLElement<br/>通过简单选择器selector寻找祖先节点 ,直到maxDepth(元素maxDepth默认为10,也可以是指定的DOM 节点),找不到返回null</p>
<p>findParentNode( String selector, [Number/Mixed maxDepth], [Boolean returnEl] ) : HTMLElement<br/>从父元素开始使用简单选择器selector选择DOM节点</p>
<p>first( [String selector], [Boolean returnDom] ) : Ext.Element/HTMLElement<br/>得到第一个符合selector条件的子节点,跳过文本节点</p>
<p>focus() : Ext.Element<br/>得到焦点</p>
<p>getAlignToXY( Mixed element, String position, [Array offsets] ) : Array<br/>得到当前元素按position规则对齐到element时的XY坐标值 position/offsets参数参见alignTo方法</p>
<p>getAnchorXY( [String anchor], [Object size], [Boolean local] ) : Array<br/>得到当前元素锚点指定的坐标值 anchor定义参见alignTo方法,默认为c</p>
<p>getAttributeNS( String namespace, String name ) : String<br/>得到使用了命名空间namespace的属性name之值,</p>
<p>getBorderWidth( String side ) : Number<br/>得到side指定的边框之和,side可以是t, l, r, b或他们的任意组合,比如getBorderWidth("lr")就是得到左边框和右边框之和</p>
<p>getBottom( Boolean local ) : Number<br/>得到当前元素的底部纵坐标,元素纵坐标+元素高度</p>
<p>getBox( [Boolean contentBox], [Boolean local] ) : Object<br/>得到当前元素的box对象:{x,y,width,height}</p>
<p>getCenterXY() : Array<br/>如果当前元素要居中对齐时的横纵坐标值,等价getAlignToXY(document, 'c-c')</p>
<p>getColor( String attr, String defaultValue, [String prefix] ) : void<br/>得到当前元素指定attr的颜色值,如果没指定,返回defualtValue,比较郁闷的是明明不是void为什么api中批示是一个void?应该是个字符串</p>
<p>getComputedHeight() : Number<br/>得到计算过的高度,得到offsetHeight或css中定义的height值之一,如果使用了padding/borders,也会计算进去</p>
<p>getComputedWidth() : Number<br/>见getComputedHeight</p>
<p>getFrameWidth( String sides ) : Number<br/>得到sides定义的border宽度和padding定义的宽度之和,side定义见getBorderWidth</p>
<p>getHeight( [Boolean contentHeight] ) : Number<br/>返回元素的offsetHeight</p>
<p>getLeft( Boolean local ) : Number<br/>得到横坐标</p>
<p>getMargins( [String sides] ) : Object/Number<br/>如果没有定义sides,则返回一个含有{left,top,width,height}对象,反之返回side指定的宽度,side定义见getBorderWidth</p>
<p>getOffsetsTo( Mixed element ) : Array<br/>计算从element到当前元素的偏移量</p>
<p>getPadding( String side ) : Number<br/>得到由side指定的padding之和</p>
<p>getPositioning() : Object<br/>得到当前元素的位置信息 返回含以下属性的对象{position,left,right,top,bottom,z-index}</p>
<p>getRegion() : Region<br/>得到当前元素的区域信息 返回含有以下属性的Ext.lib.Region对象{top, left, bottom, right}</p>
<p>getRight( Boolean local ) : Number<br/>右边界值</p>
<p>getScroll() : Object<br/>得到一个批示滚动条位置的对象{left, top}</p>
<p>getSize( [Boolean contentSize] ) : Object<br/>得到宽度和高度组成的对象信息{width,height}</p>
<p>getStyle( String property ) : String<br/>得到指定的样式值 getStyles简化版</p>
<p>getStyles( String style1, String style2, String etc. ) : Object<br/>得到由参数组成的对象<br/>例:el.getStyles('color', 'font-size', 'width')<br/>可能返回 {'color': '#FFFFFF', 'font-size': '13px', 'width': '100px'}</p>
<p>getTop( Boolean local ) : Number<br/>得到顶点纵坐 标</p>
<p>getUpdater() : Ext.Updater<br/>得到当前元素的Updater对象,参见Ext.Updater类</p>
<p>getValue( Boolean asNumber ) : String/Number<br/>得到value属性的值</p>
<p>getViewSize() : Object<br/>得到clientHeight和clientWidth信息给成的对象{width,height}</p>
<p>getWidth( [Boolean contentWidth] ) : Number<br/>..这样的方法真多</p>
<p>getX() : Number<br/>getXY() : Array<br/>getY() : Array<br/>得到页面偏移量,也就是绝对坐标</p>
<p>hasClass( String className ) : Boolean<br/>样式类className 存在于当前元素的dom 节点中</p>
<p>hide( [Boolean/Object animate] ) : Ext.Element<br/>隐藏当前元素</p>
<p>hover( Function overFn, Function outFn, [Object scope] ) : Ext.Element<br/>设置鼠标移入移出事件</p>
<p>initDD( String group, Object config, Object overrides ) : Ext.dd.DD<br/>initDDProxy( String group, Object config, Object overrides ) : Ext.dd.DDProxy<br/>initDDTarget( String group, Object config, Object overrides ) : Ext.dd.DDTarget<br/>这个要放到 Ext.dd去专门搞了,用于拖曳</p>
<p>insertAfter( Mixed el ) : Ext.Element<br/>insertBefore( Mixed el ) : Ext.Element<br/>insertFirst( Mixed/Object el ) : Ext.Element<br/>在DOM中el元素之前之后...插入当前元素</p>
<p>insertHtml( String where, String html, Boolean returnEl )<br/>插入html内容 where 可选beforeBegin, afterBegin, beforeEnd, afterEnd</p>
<p>insertSibling( Mixed/Object/Array el, [String where], [Boolean returnDom] ) :<br/>插入或创建el做为当前元素的兄弟节点,where可选before/after,默认为before</p>
<p>is( String selector ) : Boolean<br/>验证当前节点是否匹配简单选择器selector</p>
<p>isBorderBox()<br/>测试不同的样式规则以决定当前元素是否使用一个有边框的盒子</p>
<p>isDisplayed() : Boolean<br/>只要不是指定display属性none都会返回真</p>
<p>isMasked() : Boolean<br/>仅有当前元素有mask并且可见时为真,mask译为蒙片?就是有些输入框没得到值之前会有一行模糊的提示的那种东西</p>
<p>isScrollable() : Boolean<br/>可以滚动?</p>
<p>isVisible( [Boolean deep] ) : Boolean<br/>可见?</p>
<p>last( [String selector], [Boolean returnDom] ) : Ext.Element/HTMLElement<br/>见first</p>
<p>load( String/Function url, [String/Object params], [Function callback], [Boolean discardUrl] ) : Ext.Element<br/>直接应用当前updater的update方法</p>
<p>mask( [String msg], [String msgCls] ) : Element<br/>为当前对象创建蒙片</p>
<p>move( String direction, Number distance, [Boolean/Object animate] ) : Ext.Element<br/>相前元素相对于当前位置移动,<br/>direction批示方向可能的值是"l","left" - "r","right" - "t","top","up" - "b","bottom","down".<br/>distance,指示要移动的距离,以像素为单位</p>
<p>moveTo( Number x, Number y, [Boolean/Object animate] ) : Ext.Element<br/>称动到指定的位置</p>
<p>next( [String selector], [Boolean returnDom] ) : Ext.Element/HTMLElement<br/>下一个符合selector的兄弟节点,</p>
<p>on( String eventName, Function fn, [Object scope], [Object options] ) : void<br/>详见addListener</p>
<p>position( [String pos], [Number zIndex], [Number x], [Number y] ) : void<br/>初始化当前元素的位置 pos可选择relative/absolute/fixed</p>
<p>prev( [String selector], [Boolean returnDom] ) : Ext.Element/HTMLElement<br/>前一个符合selector的兄弟节点</p>
<p>query( String selector ) : Array<br/>通过样式选择器选择子节点</p>
<p>radioClass( String/Array className ) : Ext.Element<br/>添加样式或样式数组到当前元素，并移除兄弟节点中的指定样式</p>
<p>relayEvent( String eventName, Object object ) : void<br/>将当前元素的eventName事件同时转发给object对象</p>
<p>remove() : void<br/>从当前DOM中删除元素,并从缓存中移除</p>
<p>removeAllListeners() : Ext.Element<br/>移除所有的侦听者</p>
<p>removeClass( String/Array className ) : Ext.Element<br/>移除样式类</p>
<p>removeListener( String eventName, Function fn ) : Ext.Element<br/>移除事件eventName的fn侦听器</p>
<p>repaint() : Ext.Element<br/>强制浏览器重绘当前元素</p>
<p>replace( Mixed el ) : Ext.Element<br/>用当前元素替换el</p>
<p>replaceClass( String oldClassName, String newClassName ) : Ext.Element<br/>替换样式类</p>
<p>replaceWith( Mixed/Object el ) : Ext.Element<br/>用el替换当前元素</p>
<p>scroll( String direction, Number distance, [Boolean/Object animate] ) : Boolean<br/>滚动,scroll会保证元素不会越界,direction和distance参数见move</p>
<p>scrollIntoView( [Mixed container], [Boolean hscroll] ) : Ext.Element<br/>滚动到container内的视图</p>
<p>scrollTo( String side, Number value, [Boolean/Object animate] ) : Element<br/>基本与scroll方法相同,但不保证元素不越界</p>
<p>select( String selector, [Boolean unique] ) :<br/>与query不同的是,通过样式选择器selector,select方法会返回一个复合元素对象(CompositeElement)或CompositeElementLite,</p>
<p>set( Object o, [Boolean useSet] ) : Ext.Element<br/>设置属性，例<br/>el.set({width:'200px',height:'200px'});</p>
<p>setBottom( String bottom ) : Ext.Element<br/>setLeft( String left ) : Ext.Element<br/>setRight( String right ) : Ext.Element<br/>setTop( String top ) : Ext.Element<br/>setLeftTop( String left, String top ) : Ext.Element<br/>设置css 对象的属性值</p>
<p>setBounds( Number x, Number y, Number width, Number height, [Boolean/Object animate] ) : Ext.Element<br/>马上改变当前元素的位置和尺寸</p>
<p>setBox( Object box, [Boolean adjust], [Boolean/Object animate] ) : Ext.Element<br/>为当前元素设置一个盒子box:{x, y, width, height},adjust指示是否马上调整尺寸</p>
<p>setDisplayed( Boolean value ) : Ext.Element<br/>设置可见性</p>
<p>setHeight( Number height, [Boolean/Object animate] ) : Ext.Element<br/>setWidth( Number width, [Boolean/Object animate] ) : Ext.Element<br/>setSize( Number width, Number height, [Boolean/Object animate] ) : Ext.Element<br/>设置高度和宽度</p>
<p>setLocation( Number x, Number y, [Boolean/Object animate] ) : Ext.Element<br/>设置当前元素相对于页面的横纵坐标</p>
<p>setOpacity( Float opacity, [Boolean/Object animate] ) : Ext.Element<br/>设置透明度，opacity为1完全不透明,0完全透明</p>
<p>setPositioning( Object posCfg ) : Ext.Element<br/>为当前元素指定位置信息,参数posCfg参见getPositioning说明</p>
<p>setRegion( Ext.lib.Region region, [Boolean/Object animate] ) : Ext.Element<br/>为当前元素指定区域信息 region定义 见getRegion</p>
<p>setStyle( String/Object property, [String value] ) : Ext.Element<br/>设置样式</p>
<p>setVisibilityMode( visMode Element.VISIBILITY ) : Ext.Element<br/>指示是使用Element.VISIBILITY还是Element.DISPLAY属性来定义可见性</p>
<p>setVisible( Boolean visible, [Boolean/Object animate] ) : Ext.Element<br/>设置可见性</p>
<p><br/>setX( Number The, [Boolean/Object animate] ) : Ext.Element<br/>setXY( Array pos, [Boolean/Object animate] ) : Ext.Element<br/>setY( Number The, [Boolean/Object animate] ) : Ext.Element<br/>设置当前元素相对于page的位置</p>
<p>show( [Boolean/Object animate] ) : Ext.Element<br/>显示当前元素</p>
<p>swallowEvent( String eventName, [Boolean preventDefault] ) : Ext.Element<br/>阻止eventName事件冒泡，并视preventDefault阻断默认行为</p>
<p>toggle( [Boolean/Object animate] ) : Ext.Element<br/>切换元素的visibility 或display属性,依赖于setVisibilityMode设定的</p>
<p>toggleClass( String className ) : Ext.Element<br/>如果样式名存在于当前元素对应的dom 节点，移除，反之应用</p>
<p>translatePoints( Number/Array x, Number y ) : Object<br/>返回一个{left,top}结构</p>
<p>un( String eventName, Function fn ) : Ext.Element<br/>解除事件侦听，参见 removeListener</p>
<p>unclip() : Ext.Element<br/>见clip;</p>
<p>unmask() : void<br/>见mask;</p>
<p>unselectable(): Ext.Element<br/>禁止文本选择</p>
<p>up( String selector, [Number/Mixed maxDepth] ) : Ext.Element<br/>通过样式选择器selector选择祖先节点</p>
<p>update( String html, [Boolean loadScripts], Function callback ) : Ext.Element<br/>利用html更新当前节点内容，loadScripts指示html中如果有script，是否需要运行,这是一个innerHTML的一个老老老问题了</p>
<p>wrap( [Object config], [Boolean returnDom] ) : HTMLElement/Element<br/>用另一个元素config包含自己</p>
<br/><p>EXT核心API详解(四)-Ext.DomQuery/DomHelper/Template</p>
<p>Ext.DomQuery类<br/>selector语法详见Ext类</p>
<p>compile( String selector, [String type] ) : Function<br/>编写一个选择器或xpath查询到一个方法以方便重用,type取select(默认)或simple值之一</p>
<p>filter( Array el, String selector, Boolean nonMatches ) : Array<br/>过滤el中的元素,保留符合selector的，如果nonMatches为真，结果相反</p>
<p>is( String/HTMLElement/Array el, String selector ) : Boolean<br/>验证el是否匹配selector</p>
<p>select( String selector, [Node root] ) : Array<br/>从root中选择匹配selector的对象数组</p>
<p>selectNode( String selector, [Node root] ) : Element<br/>返回root中第一个匹配selector的对象</p>
<p>selectNumber( String selector, [Node root], Number defaultValue ) : Number<br/>返回root中第一个匹配selector的对象的节点值，转换为整数或浮点数</p>
<p>selectValue( String selector, [Node root], String defaultValue ) : void<br/>返回root中第一个匹配selector的对象的节点值，如果为null,用默认值defaultValue代替</p>
<p>Ext.DomHelper类<br/>append( Mixed el, Object/String o, [Boolean returnElement] ) : HTMLElement/Ext.Element<br/>创建一个新的DOM元素并添加到el<br/>参数 o 是一个DOM对象或一个原始html块</p>
<p><br/>applyStyles( String/HTMLElement el, String/Object/Function styles ) : void<br/>应用样式styles到对象el， 样式的对象表示方法见Ext.Element</p>
<p>createTemplate( Object o ) : Ext.Template<br/>由o创建一个新的Ext.Template对象，详见 Ext.Template</p>
<p>insertAfter( Mixed el, Object o, [Boolean returnElement] ) : HTMLElement/Ext.Element<br/>insertBefore( Mixed el, Object/String o, [Boolean returnElement] ) : HTMLElement/Ext.Element<br/>创建一个新的DOM对象o并将他们挺入在el之后/之前</p>
<p>insertFirst( Mixed el, Object/String o, [Boolean returnElement] ) :<br/>创建一个新的DOM元素并做为第一个子节点添加到el (看了这个insertFirst，建议将append取一个别名insertLast:))</p>
<p>insertHtml( String where, HTMLElement el, String html ) : HTMLElement<br/>where 可选值beforeBegin/afterBegin/beforeEnd/afterEnd<br/>将html代码插入到el附近,</p>
<p>markup( Object o ) : String<br/>返回DOM对象o对应的html代码</p>
<p>overwrite( Mixed el, Object/String o, [Boolean returnElement] ) :<br/>创建一个新的DOM元素o并用它重写el的内容</p>
<p><br/>Ext.Template类<br/>Template类主要是功能是生产html片断,例<br/>var t = new Ext.Template(<br/>'&lt;div name="{id}"&gt;',<br/>'&lt;span class="{cls}"&gt;{name:trim} {value:ellipsis(10)}&lt;/span&gt;',<br/>'&lt;/div&gt;'<br/>);<br/>t.append('some-element', {id: 'myid', cls: 'myclass', name: 'foo', value: 'bar'});</p>
<p>公用方法:<br/>Template( String/Array html )<br/>构造一个Ext.Template对象，参数可以是字符串形式的html代码或它们组成的数组，</p>
<p>Template.from( String/HTMLElement el, Object config ) : Ext.Template<br/>能过el的value(优先)或innerHTML来构造模板</p>
<p>append( Mixed el, Object values, [Boolean returnElement] ) : HTMLElement/Ext.Element<br/>insertAfter( Mixed el, Object values, [Boolean returnElement] ) : HTMLElement/Ext.Element<br/>insertBefore( Mixed el, Object values, [Boolean returnElement] ) : HTMLElement/Ext.Element<br/>insertFirst( Mixed el, Object values, [Boolean returnElement] ) : HTMLElement/Ext.Element<br/>这组方法提供由 value产生的html 代码，并添加到dom 做为el的最后一个子节点/下一个兄弟节点/前一个兄弟节点/第一个子节点<br/>values解释参见applyTemplate</p>
<p>apply() : void<br/>applyTemplate( Object values ) : String<br/>apply是applyTemplate的简写，如果参数是数字values可以是一个数组，或者一个象 {id: 'myid', cls: 'myclass', name: 'foo', value: 'bar'}这样的json对象</p>
<p><br/>compile() : Ext.Template<br/>编译模板,替换掉模板中的\=&gt;\\ ,\r\n|\n==&gt;\\n, '=\',主要是为了js自己处理方便</p>
<p>overwrite( Mixed el, Object values, [Boolean returnElement] ) :<br/>利用values生成html替换el的内容</p>
<p>set( String html, [Boolean compile] ) : Ext.Template<br/>设置模板的html,如果compile为真将调用compile方法</p>
<br/><br/><p>EXT核心API详解(五)-Ext.EventManager/EventObject/CompositeElement/CompositeElementLite</p>
<p><br/>Ext.EventManager<br/>事件管理者中的大部分方法都在Ext中有定义,主要用于事件管理</p>
<p><br/>addListener( String/HTMLElement el, String eventName, Function handler,<br/>on( String/HTMLElement el, String eventName, Function handler, [Object scope], [Object options] ) : void<br/>onDocumentReady( Function fn, [Object scope], [boolean options] ) : void<br/>removeListener( String/HTMLElement el, String eventName, Function fn ) :<br/>un( String/HTMLElement el, String eventName, Function fn ) : Boolean<br/>参见Ext</p>
<p>onWindowResize( Function fn, Object scope, boolean options ) : void<br/>窗口大小变更时触发</p>
<p>onTextResize( Function fn, Object scope, boolean options ) : void<br/>活动文本尺寸变更时触发</p>
<p><br/>Ext.EventObject<br/>这两个类都定义在EventManager.js中，分开是为了逻辑上更清晰吧,这个类主要用于描述事件本身，一般用做事件处理方法的参数<br/>另外这个害定义了一些键值常量，比ascii码好记</p>
<p>例<br/>function handleClick(e){ // 这儿的e就是一个EventObject对象<br/>e.preventDefault();<br/>var target = e.getTarget();<br/>...<br/>}<br/>var myDiv = Ext.get("myDiv");<br/>myDiv.on("click", handleClick);<br/>//or<br/>Ext.EventManager.on("myDiv", 'click', handleClick);<br/>Ext.EventManager.addListener("myDiv", 'click', handleClick);</p>
<p>getCharCode() : Number<br/>getKey() : Number<br/>在非webkit|khtml类型网页中这两个方法是一样的，得到按键的值</p>
<p>getPageX() : Number<br/>getPageY() : Number<br/>getXY() : Array<br/>得到事件坐标</p>
<p>getRelatedTarget() : HTMLElement<br/>得到关联目标?我总是得到null</p>
<p>getTarget( [String selector], [Number/Mixed maxDepth], [Boolean returnEl] ) :<br/>如果没有定义selector则直接返回target属性,如果定义了selector，则利用selector寻找祖先节点</p>
<p>getTime() : Number<br/>得到事件发生的时间?</p>
<p>getWheelDelta() : Number<br/>应该是个过时的方法，反正在ie和火狐下都不知道做什么用的,原意应该是得到鼠标的按键信息？</p>
<p>hasModifier() : Boolean<br/>事件发生时是否同时按下了ctrl/alt/shift键之一？</p>
<p>preventDefault() : void<br/>阻止浏览器的默认事件？</p>
<p>stopEvent() : void<br/>preventDefault+stopPropagation</p>
<p>stopPropagation() : void<br/>阻止事件冒泡</p>
<p>within( Mixed el, [Boolean related] ) : Boolean<br/>如果事件的目标是el或者它的子节点将返回真</p>
<p><br/>Ext.CompositeElement类<br/>基础的复合元素类,为容器中每个元素创建一个Ext.Element对象<br/>虽然不是继承自Ext.Element，但事实上它几乎支持Element类的所有方法<br/>例:<br/>var els = Ext.select("#some-el div.some-class", true);<br/>els.setWidth(100);</p>
<p><br/>add( String/Array els ) : CompositeElement<br/>添加 css选择器els匹配的元素 或 元素组成的数组 到当前对象</p>
<p>clear() : void<br/>清除所有元素</p>
<p>contains() : Boolean<br/>应该是contains(Mixed el):Boolean,当前复合元素中是否含有el</p>
<p>each( Function fn, [Object scope] ) : CompositeElement<br/>通过el,this,index参数为每个元素调用fn</p>
<p>fill( String/Array els ) : CompositeElement<br/>clear()&amp; add(els)</p>
<p>filter( String selector ) : CompositeElement<br/>过滤</p>
<p>first() : Ext.Element<br/>第一个元素</p>
<p>getCount() : Number<br/>//元素的数量</p>
<p>indexOf() : Boolean<br/>同contains一样应该有个Mixed参数</p>
<p>item( Number index ) : Ext.Element<br/>第index个元素</p>
<p>last() : Ext.Element<br/>最后一个元素</p>
<p>removeElement( Mixed el, [Boolean removeDom] ) : CompositeElement<br/>删除el元素</p>
<p>replaceElement( Mixed el, Mixed replacement, [Boolean domReplace] ) : CompositeElement<br/>替换</p>
<p>Ext.CompositeElementLite<br/>由Ext.CompositeElement继承而来，重写了一些方法，但没看出与父类有什么不同<br/>addElements /invoke /item /addListener /each /indexOf /replaceElement</p>
<br/><p>EXT核心API详解(六)-Ext.Fx</p>
<p><br/>Ext.Fx类<br/>对于我这样的懒鬼而言，Fx类是核心类库中最激动人心的一个类，它不是最重要的，却是最实用的一个类<br/>定义了一些常用的特效方法,不妨自己多动手试试下面的方法，很有趣的</p>
<p>fadeIn( [Object options] ) : Ext.Element<br/>渐显 options参数有以下属性<br/>callback:Function 完成后的回叫方法<br/>scope:Object 目标<br/>easing:String 行为方法 默认值是:easeOut,可选值在ext_base中找到,但没有说明,以下内容从yahoo ui中找到的<br/>easeNone:匀速<br/>easeIn:开始慢且加速<br/>easeOut:开始快且减速<br/>easeBoth:开始慢且减速<br/>easeInStrong:开始慢且加速,t的四次方<br/>easeOutStrong:开始快且减速,t的四次方<br/>easeBothStrong:开始慢且减速,t的四次方<br/>elasticIn:<br/>elasticOut:<br/>elasticBoth:<br/>backIn:<br/>backOut:<br/>backBoth:<br/>bounceIn:<br/>bounceOut:<br/>bounceBoth:<br/>太多,慢慢体会吧<br/>afterCls:String 事件完成后元素的样式<br/>duration:Number 事件完成时间（以秒为单位）<br/>remove:Boolean 事件完成后元素销毁?<br/>useDisplay:Boolean 隐藏元素是否使用display或visibility属性?<br/>afterStyle:String/Object/Function 事件完成后应用样式<br/>block:Boolean 块状化?<br/>concurrent:Boolean 顺序还是同时执行？<br/>stopFx ：Boolean 当前效果完成后随合的效果是否将停止和移除</p>
<p>fadeOut( [Object options] ) : Ext.Element<br/>渐隐 fadeOut和fadeIn能使用一个特别的endOpacity属性以指示结束时的透明度<br/>例:el.fadeIn({duration:5,endOpacity:0.7});</p>
<p>frame( [String color], [Number count], [Object options] ) : Ext.Element<br/>边框变亮扩展然后渐隐<br/>例:el.frame("ff0000", 10, { duration: 3 })</p>
<p>ghost( [String anchor], [Object options] ) : Ext.Element<br/>渐渐滑出视图,anchor定义<br/>tl 左上角(默认)<br/>t 上居中<br/>tr 右上角<br/>l 左边界的中央<br/>c 居中<br/>r 右边界的中央<br/>bl 左下角<br/>b 下居中<br/>br 右下角<br/>例:<br/>el.ghost('b', {<br/>easing: 'easeOut',<br/>duration: .5<br/>remove: false,<br/>useDisplay: false<br/>});</p>
<p>hasActiveFx() : Boolean<br/>指示元素是否当前有特效正在活动</p>
<p>hasFxBlock() : Boolean<br/>是否有特效阻塞了</p>
<p>highlight( [String color], [Object options] ) : Ext.Element<br/>高亮显示当前元素<br/>例:el.highlight("ffff9c", {<br/>attr: "background-color", //can be any valid CSS property (attribute) that supports a color value<br/>endColor: (current color) or "ffffff",<br/>easing: 'easeIn',<br/>duration: 1<br/>});</p>
<p><br/>pause( Number seconds ) : Ext.Element<br/>暂停</p>
<p>puff( [Object options] ) : Ext.Element<br/>吹，吹，吹个大气球，元素渐大并隐没<br/>例:el.puff({<br/>easing: 'easeOut',<br/>duration: .5,<br/>remove: false,<br/>useDisplay: false<br/>});</p>
<p>scale( Number width, Number height, [Object options] ) : Ext.Element<br/>缩放<br/>例:el.scale(<br/>[element's width],<br/>[element's height], {<br/>easing: 'easeOut',<br/>duration: .35<br/>});</p>
<p>sequenceFx()<br/>排队特效</p>
<p>shift( Object options ) : Ext.Element<br/>位移,并可重置大小,透明度等<br/>例:<br/>el.shift({<br/>width: [element's width],<br/>height: [element's height],<br/>x: [element's x position],<br/>y: [element's y position],<br/>opacity: [element's opacity],<br/>easing: 'easeOut',<br/>duration: .35<br/>});</p>
<p>slideIn( [String anchor], [Object options] ) : Ext.Element<br/>slideOut( [String anchor], [Object options] ) : Ext.Element<br/>滑入/滑出<br/>例:el.slideIn('t', {<br/>easing: 'easeOut',<br/>duration: .5<br/>});</p>
<p><br/>stopFx() : Ext.Element<br/>停止特效</p>
<p>switchOff( [Object options] ) : Ext.Element<br/>收起并隐没<br/>例:<br/>el.switchOff({<br/>easing: 'easeIn',<br/>duration: .3,<br/>remove: false,<br/>useDisplay: false<br/>});</p>
<p><br/>syncFx() : Ext.Element<br/>异步特效</p>
<p>EXT核心API详解(七)-Ext.KeyNav/KeyMap/JSON/Format/DelayedTask/TaskRunner/TextMetrics/XTemplate</p>
<p><br/>Ext.KeyNav<br/>Ext的keyNav类能为Ext.Element元素提供简单的按键处理方法<br/>例:<br/>var el=Ext.get("textarea");<br/>new Ext.KeyNav(el, {<br/>"left" : function(e){<br/>alert("left key down");<br/>},<br/>scope : el<br/>}<br/>);<br/>它的行为与KeyMap类似，但功能比KeyMap要弱小的多，只能处理以下已定义键<br/>enter/left/right/up/down/tab/esc/pageUp/pageDown/del/home/end<br/>同情一下KeyNav</p>
<p>方法只有三个,不用多解释<br/>KeyNav( Mixed el, Object config )<br/>disable() : void<br/>enable() : void</p>
<p>Ext.KeyMap类<br/>则强悍的多,其中最重要的当然是对按键的定义更灵活<br/>例:上例用KeyMap来写可能是<br/>var el=Ext.get("textarea");<br/>new Ext.KeyMap(el, {<br/>key:Ext.EventObject.LEFT,<br/>fn: function(e){<br/>alert("left key down");<br/>},<br/>scope : el<br/>}<br/>);</p>
<p>方法<br/>KeyMap( Mixed el, Object config, [String eventName] )<br/>构造,与KeyNav也相似，但更灵活<br/>它是{<br/>key: String/Array, //可以是数字，字符，也可以是Ext.EventObject.LEFT这样的助记符,还能是他们组成的数组<br/>shift: Boolean, //ctrl键按下?<br/>ctrl: Boolean,<br/>alt : Boolean,<br/>fn : Function, //回叫方法<br/>scope: Object //范围<br/>}这样的对象或它们组成的数组<br/>比如{key: 10},{key: [10,13]},{key:'\t'},{key:'abcd'},{key:Ext.EventObject.LEFT}都是合法的定义</p>
<p>addBinding( Object/Array config ) : void<br/>增加新的绑定动作 config参见构造</p>
<p>disable() : void<br/>enable() : void<br/>isEnabled() : Boolean<br/>允许，静止和状态查询</p>
<p>on( Number/Array/Object key, Function fn, [Object scope] ) : void<br/>只添加一个处理时addBinding的快捷方式,但个人感觉并没有简单到哪儿去。</p>
<p><br/>Ext.util.JSON<br/>轮到大名鼎鼎的JSON了，可惜Ext提供的JSON对象功能好弱小，只有encode主decode两个方法<br/>而且只能编码String/Array/Date,至少也要搞个 xml2json/json2xml方法呀</p>
<p>Ext.util.Format<br/>主要提供了一些格式化方法</p>
<p>capitalize( String value ) : String<br/>首字母大写</p>
<p>date( Mixed value, [String format] ) : String<br/>格式化日期输出,还是Date.format方法好用</p>
<p>dateRenderer( String format ) : Function<br/>返回一个利用指定format格式化日期的方法</p>
<p>defaultValue( Mixed value, String defaultValue ) : String<br/>如果value未定义或为空字符串则返回defaultValue</p>
<p>ellipsis( String value, Number length ) : String<br/>如果value的长度超过length的,取前length-3个并用...替代，对中国人来说还是垃圾功能，用的字符串长度不是字节长度</p>
<p>fileSize( Number/String size ) : String<br/>简单的格式化文件长度为 xxxbytes xxxKB xxxMB,没有GB哟</p>
<p>htmlEncode( String value ) : String<br/>htmlDecode( String value ) : String<br/>HTML编码解码,将&amp; &lt; &gt; "替换为&amp;amp;&amp;lt;&amp;gt;&amp;quot;</p>
<p>lowercase( String value ) : String<br/>将value转换为全小写</p>
<p>stripScripts( Mixed value ) : String<br/>去除脚本标签</p>
<p>stripTags( Mixed value ) : String<br/>去除HTML标签</p>
<p>substr( String value, Number start, Number length ) : String<br/>取子字符串</p>
<p>trim( String value ) : String<br/>去除开头和结尾的空格</p>
<p>undef( Mixed value ) : Mixed<br/>如果value未定义,返回空字符串，反之返回value本身</p>
<p>uppercase( String value ) : String<br/>转为全大写</p>
<p>usMoney( Number/String value ) : String<br/>转为美元表示</p>
<p>Ext.util.DelayedTask<br/>提供一个setTimeout的简单替代方法</p>
<p>公开的方法也只有三个<br/>DelayedTask( [Function fn], [Object scope], [Array args] )<br/>delay( Number delay, [Function newFn], [Object newScope], [Array newArgs] ) :<br/>cancel() : void<br/>简单的示例用法如果<br/>var task=new Ext.util.DelayedTask(Ext.emptuFn);<br/>task.delay(1000);<br/>task.cancel();</p>
<p>Ext.util.TaskRunner<br/>增强版的DelayedTask,能提供多线程的定时服务，<br/>例:<br/>var task = {<br/>run: function(){<br/>Ext.fly('clock').update(new Date().format('g:i:s A'));<br/>},<br/>interval: 1000<br/>}<br/>var runner = new Ext.util.TaskRunner();<br/>runner.start(task);</p>
<p>四个方法都很简单<br/>TaskRunner( [Number interval] )<br/>start( [Object task] ) : Object<br/>stop( Object task ) : Object<br/>stopAll() : void</p>
<p><br/>Ext.util.TextMetrics<br/>这个类主要是为了准备的得到块状化文本正确的高度和宽度<br/>例:<br/>var metrics=Ext.util.TextMetrics.createInstance('div');<br/>metrics.setFixedWidth(100);<br/>var size=metrics.getSize("中华人民共和国中华人民共和国中华人民共和国中华人民共和国");<br/>Ext.MessageBox.alert("getsize",String.format("width:{0}px\theight:{1}px",size.width,size.height))</p>
<p>方法<br/>bind( String/HTMLElement el ) : void<br/>绑定到el</p>
<p>createInstance( String/HTMLElement el, [Number fixedWidth] ) : Ext.util.TextMetrics.Instance<br/>为el创建TextMetrics实例</p>
<p>getHeight( String text ) : Number<br/>getSize( String text ) : Object<br/>getWidth( String text ) : Number<br/>得到尺寸</p>
<p>measure( String/HTMLElement el, String text, [Number fixedWidth] ) : Object<br/>测算文本text在el中将要占用的尺寸</p>
<p>setFixedWidth( Number width ) : void<br/>设置指定的宽度</p>
<p>Ext.XTemplate<br/>增强型模板，支持更多功能了，虽然方法不多，但用起来来还真的很麻烦，但并不建议大家学习这样的自定义语法，不如用xslt<br/>另外这个Xtemplate虽然命名空间在Ext之下，但源文件却是放在util目录中的<br/>XTemplate( String/Array html )<br/>XTemplate.from( String/HTMLElement el ) : Ext.XTemplate<br/>apply() : void<br/>applyTemplate( Object values ) : String<br/>compile() : Function<br/>这些方法Ext.Template中都有说明，</p>
<p><br/></p>
<p><br/><br/></p>
 <img src ="http://www.cnblogs.com/zhucl1006/aggbug/1284630.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43597/" target="_blank">[新闻]推波助澜 微软推出“I'm a PC”商店</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>F# 学习笔记 1 --基础学习</title><link>http://www.cnblogs.com/zhucl1006/archive/2008/08/15/1268584.html</link><dc:creator>Leo.Zhu</dc:creator><author>Leo.Zhu</author><pubDate>Fri, 15 Aug 2008 04:02:00 GMT</pubDate><guid>http://www.cnblogs.com/zhucl1006/archive/2008/08/15/1268584.html</guid><wfw:comment>http://www.cnblogs.com/zhucl1006/comments/1268584.html</wfw:comment><comments>http://www.cnblogs.com/zhucl1006/archive/2008/08/15/1268584.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhucl1006/comments/commentRss/1268584.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhucl1006/services/trackbacks/1268584.html</trackback:ping><description><![CDATA[<p>F#...函数式编程语言，每个表达式都是一个函数式的。function is values。</p>
<p>printf 方法 with %A pattern to output them to the console.</p>
<p>%A可以显示任何类型，类似于c#中的ToString 。</p>
<p>也可以使用print_any and any_to_string方法。</p>
<p>printf_string ：打印一个string类型</p>
<p>printf_int:打印一个int类型。</p>
<p>...</p>
<br/><p>1.values and Function:</p>
<p>sample:</p>
<p>#light<br/>let n = 10<br/>let add a b = a + b<br/>let addFour = add 4<br/>let result = addFour n<br/>printfn "result = %i" result</p>
<p>------------</p>
<p>result=14</p>
<p>不必一次传入所有的参数，因为一个方法就是一个值，所以，在addFour中只传入一个参数，当add方法没有收到所有的参数，它会产生一个新的方法，并wait，直到另一个参数传来然后返回一个value。</p>
<p>如果一个方法必须输入两个参数，可以使用let add (a,b) = a+b的方式，这样add方法必须要输入两个参数了。</p>
<br/><p>2.在f#中方法体都是使用缩进来判断的。如下：</p>
<p>#light<br/>let halfWay a b =<br/>let dif = b - a<br/>let mid = dif / 2<br/>mid + a<br/>printfn "(halfWay 5 11) = %i" (halfWay 5 11)<br/>printfn "(halfWay 11 5) = %i" (halfWay 11 5)</p>
<p>--------</p>
<p>(halfWay 5 11) = 8<br/>(halfWay 11 5) = 8</p>
<p>#light: 必须放在f#文件的最开头，这个表示可以使f#识别空格等，否则必须要输入begin,in等等的一些关键字了。</p>
<p>halfWay 方法，有两个参数，a，b,并返回一个value.</p>
<p>3.变量作用域。</p>
<p>在f#中，变量的作用域，方法中，方法中的定义的变量在方法结束后，失去作用。</p>
<p>#light<br/>let defineMessage() =<br/>let message = "Help me"<br/>print_endline message<br/>print_endline message<br/>--error.</p>
<p>#light<br/>let mathsPuzzle() =<br/>print_string "Enter day of the month on which you were born: "<br/>let input = read_int ()<br/>let x = input * 4 // Multiply it by 4<br/>let x = x + 13 // Add 13<br/>let x = x * 25 // Multiply the result by 25<br/>let x = x - 200 // Subtract 200<br/>print_string "Enter number of the month you were born: "<br/>let input = read_int ()<br/>let x = x + input</p>
<p>let x = x * 2 // Multiply by 2<br/>let x = x - 40 // Subtract 40<br/>let x = x * 50 // Multiply the result by 50<br/>print_string "Enter last two digits of the year of your birth: "<br/>let input = read_int ()<br/>let x = x + input<br/>let x = x - 10500 // Finally, subtract 10,500<br/>printf "Date of birth (ddmmyy): %i" x<br/>mathsPuzzle()<br/>在方法中，可以重复定义一个变量并使用，而不用使用一个中间变量。</p>
<p><br/>4.递归</p>
<p>递归就是自己调用自己咯..在f#中，使用在let之后使用关键字rec，表示方法可以被自己调用。</p>
<p>#light<br/>let rec fib x =<br/>match x with<br/>| 1 -&gt; 1<br/>| 2 -&gt; 1<br/>| x -&gt; fib (x - 1) + fib (x - 2)<br/>printfn "(fib 2) = %i" (fib 2)<br/>printfn "(fib 6) = %i" (fib 6)<br/>printfn "(fib 11) = %i" (fib 11)</p>
<p>当然使用递归方法的时候要小心，否则进入死循环中了哦。这样会消耗掉你系统资源，知道throw System.StackOverflowException.</p>
<p>5.匿名Function</p>
<p>在f#中提供另外一种方式定义方法，使用fun 关键字和function关键字。<br/>#light<br/>let x = (fun x y -&gt; x + y) 1 2</p>
<p>let x1 = (function x -&gt; function y -&gt; x + y) 1 2<br/>let x2 = (function (x, y) -&gt; x + y) (1, 2)</p>
<p>6.Operators</p>
<p>F# has two different kinds of operators, prefix and infix; a prefix operator is an operator<br/>that takes one operand, and an infix operator takes two or more. Prefix operators appear<br/>before their operand, whereas infix operators appear between the first two operands</p>
<p>F#可以重新定义操作符。例如</p>
<p>#light<br/>let (+) a b = a - b<br/>print_int (1 + 1)</p>
<p>User-defined (custom) operators must be nonalphanumeric and can be a single character<br/>or a group of characters. You can use the following characters in custom operators:<br/>!$%&amp;*+-./&lt;=&gt;?@^|~<br/>:</p>
<p>自定义操作符，可以是上面第一行中任何一个字符开始。例如：</p>
<p>#light<br/>let ( +:* ) a b = (a + b) * a * b<br/>printfn "(1 +:* 2) = %i" (1 +:* 2)</p>
<p>---</p>
<p>(1 +:* 2) = 6</p>
<p>7.List</p>
<p>在F#中可以使用::，将一个值插入到list的前面，如：</p>
<p>#light<br/>let emptyList = []<br/>let oneItem = "one " :: []<br/>let twoItem = "one " :: "two " :: []</p>
<p>list的定义是一个大括号和使用'；'分隔</p>
<p>#light<br/>let shortHand = ["apples "; "pairs "]</p>
<p>list中可以使用@ 将两个list连接起来。</p>
<p>let twoLists = ["one, "; "two, "] @ ["buckle "; "my "; "shoe "]</p>
<p>list中的元素必须是相同类型的，如果要往twoLists中插入一个int的类型，编译的时候会有Error。</p>
<p>如果要在list中放入不同类型的元素，可以使用obj，如下：</p>
<p>let objList = [box 1; box 2.0; box "three"]</p>
<p>sample：</p>
<p>#light<br/>#nowarn"62"<br/>open System</p>
<p><br/>let emptyList = []<br/>let oneItem = "one " :: []<br/>let twoItem = "one " :: "two " :: []<br/>let shortHand = ["apples "; "pairs "]<br/>let twoLists = ["one, "; "two, "] @ ["buckle "; "my "; "shoe "]<br/>let objList = [box 1; box 2.0; box "three"]<br/>let printList l =<br/>List.iter print_string l<br/>print_newline()</p>
<br/><p>let main() =<br/>printList emptyList<br/>printList oneItem<br/>printList twoItem<br/>printList shortHand<br/>printList twoLists<br/>for x in objList do<br/>print_any x<br/>print_char ' '<br/>print_newline()<br/><br/>main()</p>
<p>Console.ReadKey()</p>
<p>----</p>
<p>one<br/>one two<br/>apples pairs<br/>one, two, buckle my shoe<br/>1 2.000000 "three"</p>
<br/><p>List创建后是不可改变的，但是可以给一个新的list复制，也可以使用List.rev 将list中的元素颠倒并产生一个新的list。如下：</p>
<p>#light<br/>let one = ["one "]<br/>let two = "two " :: one<br/>let three = "three " :: two<br/>let rightWayRound = List.rev three<br/>let printList l =<br/>List.iter print_string l<br/>print_newline()<br/>let main() =<br/>printList one<br/>printList two<br/>printList three<br/>printList rightWayRound<br/>main()</p>
<p>-----</p>
<p>one<br/>two one<br/>three two one<br/>one two three</p>
<p>--</p>
<p>List.hd:取出List中的第一个元素。</p>
<p>List.tl :取出剩下的元素。<br/>#light<br/>#nowarn"62"<br/>open System</p>
<br/><p>let listOfList = [[2; 3; 5]; [7; 11; 13]; [17; 19; 23; 29]]<br/>let rec concatList l =<br/>if List.nonempty l then<br/>let head = List.hd l<br/>let tail = List.tl l<br/>head @ (concatList tail)<br/>else<br/>[]<br/>let primes = concatList listOfList<br/>print_any primes</p>
<p><br/>Console.ReadKey()</p>
<p><br/>List.iter : List的方法，有两个参数，第一个是一个方法，用于定义要应用每个list元素的方法，第二个参数要应用的list。其实就是一个for loop的简单写法。</p>
<p><br/><br/>8.List Comprehensions</p>
<p>.. ：从第一个数字，+1，知道=最后一个数字。</p>
<p>#light<br/>let numericList = [ 0 .. 9 ]<br/>let alpherSeq = { 'A' .. 'Z' }<br/>printfn "%A" numericList<br/>printfn "%A" alpherSeq</p>
<p><br/>The results of this example are as follows:<br/>[0; 1; 2; 3; 4; 5; 6; 7; 8; 9]<br/>seq ['A'; 'B'; 'C'; 'D'; ...]</p>
<p>list 还可以定义步长的方式定义一个list，使用两个.</p>
<p>如：</p>
<p>#light<br/>let multiplesOfThree = [ 0 .. 3 .. 30 ]<br/>let revNumericSeq = [ 9 .. -1 .. 0 ]<br/>printfn "%A" multiplesOfThree<br/>printfn "%A" revNumericSeq</p>
<p>[0; 3; 6; 9; 12; 15; 18; 21; 24; 27; 30]<br/>[9; 8; 7; 6; 5; 4; 3; 2; 1; 0]</p>
<p>也可以定义一个循环来定义一个list，如：</p>
<p>#light<br/>let squares =<br/>{ for x in 1 .. 10 -&gt; x * x }<br/>print_any squares<br/></p>
<p>9.流程控制</p>
<p>if ...then ....else....<br/>#light<br/>let result =<br/>if System.DateTime.Now.Second % 2 = 0 then<br/>"heads"<br/>else<br/>"tails"<br/>print_string result</p>
<p>if 语句返回必须是相同的类型，如果要返回不同的类型，可以使用ojbect包装一下。</p>
<p>#light<br/>let result =<br/>if System.DateTime.Now.Second % 2 = 0 then<br/>box "heads"<br/>else<br/>box false<br/>print_any result</p>
<p><br/><br/></p>
<p><br/><br/><br/></p>
 <img src ="http://www.cnblogs.com/zhucl1006/aggbug/1268584.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43596/" target="_blank">[新闻]火狐中国版正式发布</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>GridView 72般绝技</title><link>http://www.cnblogs.com/zhucl1006/archive/2008/07/22/1248402.html</link><dc:creator>Leo.Zhu</dc:creator><author>Leo.Zhu</author><pubDate>Tue, 22 Jul 2008 01:36:00 GMT</pubDate><guid>http://www.cnblogs.com/zhucl1006/archive/2008/07/22/1248402.html</guid><wfw:comment>http://www.cnblogs.com/zhucl1006/comments/1248402.html</wfw:comment><comments>http://www.cnblogs.com/zhucl1006/archive/2008/07/22/1248402.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhucl1006/comments/commentRss/1248402.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhucl1006/services/trackbacks/1248402.html</trackback:ping><description><![CDATA[摘要: 转:http://tmsoft.lsxy.com/index.php?load=read&amp;id=221 快速预览：GridView无代码分页排序GridView选中，编辑，取消，删除GridView正反双向排序GridView和下拉菜单DropDownList结合GridView和CheckBox结合鼠标移到GridView某一行时改变该行的背景色方法一鼠标移到GridView某一行时改变&nbsp;&nbsp;<a href='http://www.cnblogs.com/zhucl1006/archive/2008/07/22/1248402.html'>阅读全文</a><img src ="http://www.cnblogs.com/zhucl1006/aggbug/1248402.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43595/" target="_blank">[新闻]微软：中国移动全球率先使用IE Mobile 6</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>根据属性名称 获取对象的属性值</title><link>http://www.cnblogs.com/zhucl1006/archive/2008/07/01/1233485.html</link><dc:creator>Leo.Zhu</dc:creator><author>Leo.Zhu</author><pubDate>Tue, 01 Jul 2008 10:02:00 GMT</pubDate><guid>http://www.cnblogs.com/zhucl1006/archive/2008/07/01/1233485.html</guid><wfw:comment>http://www.cnblogs.com/zhucl1006/comments/1233485.html</wfw:comment><comments>http://www.cnblogs.com/zhucl1006/archive/2008/07/01/1233485.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhucl1006/comments/commentRss/1233485.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhucl1006/services/trackbacks/1233485.html</trackback:ping><description><![CDATA[
<p>使用PropertyDescriptor类.code如下:</p>
<p>PropertyDescriptor propertyDescriptor = TypeDescriptor.GetProperties(retrieved.BusinessEntities[0])["TelPhone1"];</p>
<p>if (propertyDescriptor != null)<br/>{<br/>propertyDescriptor.GetValue(retrieved.BusinessEntities[0]).ToString()<br/>}</p>
<br/><br/><p>2. string value = "";<br/>account ab = new account();<br/>ab.telephone1 = "123";<br/>MemberInfo[] myMember = ab.GetType().GetMember("telephone1");<br/>if (myMember.Length &gt; 0)<br/>{<br/>switch (myMember[0].MemberType)<br/>{<br/>case System.Reflection.MemberTypes.Field:<br/>value = ((System.Reflection.FieldInfo)myMember[0]).GetValue(ab).ToString();<br/>break;<br/>case System.Reflection.MemberTypes.Property:<br/>value = ((System.Reflection.PropertyInfo)myMember[0]).GetValue(ab, null).ToString();<br/>break;<br/>}</p>
<p>}</p>
<img src ="http://www.cnblogs.com/zhucl1006/aggbug/1233485.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43594/" target="_blank">[新闻]消息汇总:迅雷人事变动 员工与公关部说法大相径庭</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>GridView 通过javacript 控制选择</title><link>http://www.cnblogs.com/zhucl1006/archive/2008/06/30/1232532.html</link><dc:creator>Leo.Zhu</dc:creator><author>Leo.Zhu</author><pubDate>Mon, 30 Jun 2008 08:18:00 GMT</pubDate><guid>http://www.cnblogs.com/zhucl1006/archive/2008/06/30/1232532.html</guid><wfw:comment>http://www.cnblogs.com/zhucl1006/comments/1232532.html</wfw:comment><comments>http://www.cnblogs.com/zhucl1006/archive/2008/06/30/1232532.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhucl1006/comments/commentRss/1232532.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhucl1006/services/trackbacks/1232532.html</trackback:ping><description><![CDATA[
<p>GridView通过javascript控制选择，不往返于Client和Server之间。</p>
<p>code如下：</p>
<p>javascript:</p>
<p><br/>var lastRowSelected;<br/>var Colorback;<br/>function GridView_selectRow(row, ID)<br/>{<br/>document.getElementById("HidID").value=ID;<br/>if (lastRowSelected != row)<br/>{<br/>if (lastRowSelected != null)<br/>{<br/>lastRowSelected.style.backgroundColor = Colorback;<br/>lastRowSelected.style.color = 'Black'<br/>lastRowSelected.style.fontWeight = 'normal';<br/>}<br/>Colorback = row.style.backgroundColor<br/>row.style.backgroundColor = '#DDEEFF'<br/>row.style.color = 'Black'<br/>row.style.fontWeight = 'normal'<br/>lastRowSelected = row;<br/>}<br/>}<br/>function GridView_mouseHover(row)<br/>{<br/>row.style.cursor = 'hand';<br/>}<br/>c#:</p>
<p>protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)<br/>{<br/>if (e.Row.RowType == DataControlRowType.DataRow)<br/>{<br/>e.Row.ID = e.Row.Cells[0].Text;</p>
<p>HiddenField hf = (HiddenField)e.Row.FindControl("hidTel");<br/>if (hf.Value != "")<br/>{<br/>e.Row.Attributes.Add("onclick", "GridView_selectRow(this,'" + hf.Value + "')");<br/>e.Row.Attributes.Add("onmouseover", "GridView_mouseHover(this)");<br/>}<br/>//e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#DDEEFF';this.style.cursor= 'hand'");<br/>//e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='white';this.style.cursor= 'defualt'");<br/><br/>//e.Row.Attributes.Add("onclick", "javascript:__doPostBack('" + GridView1.ID + "' , 'Select$" + e.Row.RowIndex + "');");<br/>}</p>
<br/><p>注释：</p>
<p>document.getElementById("HidID").value=ID;</p>
<p>在页面中添加一个hiddenField的栏位，用来标记当前选择的ＩＤ。这样后台可以通过获取这个控件的value来得知当前的GridView是选择的哪一样。</p>
<img src ="http://www.cnblogs.com/zhucl1006/aggbug/1232532.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43592/" target="_blank">[新闻]Google iPhone语音识别程序已经上线</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>wsdl 使用方法</title><link>http://www.cnblogs.com/zhucl1006/archive/2008/06/26/1230609.html</link><dc:creator>Leo.Zhu</dc:creator><author>Leo.Zhu</author><pubDate>Thu, 26 Jun 2008 09:42:00 GMT</pubDate><guid>http://www.cnblogs.com/zhucl1006/archive/2008/06/26/1230609.html</guid><wfw:comment>http://www.cnblogs.com/zhucl1006/comments/1230609.html</wfw:comment><comments>http://www.cnblogs.com/zhucl1006/archive/2008/06/26/1230609.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhucl1006/comments/commentRss/1230609.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhucl1006/services/trackbacks/1230609.html</trackback:ping><description><![CDATA[<pre class="libCScode" id="ctl00_rs1_mainContentContainer_ctl16other" space="preserve">wsdl /out:myProxyClass.cs http://hostServer/WebserviceRoot/WebServiceName.asmx?WSDL<br />
<br />
<br />
</pre>
<p>Web 服务描述语言工具从 WSDL 协定文件、XSD 架构和 .discomap 发现文档为 XML Web services 和 XML Web services 客户端生成代码。</p>
<div id="syntaxSection" class="section">
<div class="" id="ctl00_rs1_mainContentContainer_ctl01_other">
<pre class="libCScode" id="ctl00_rs1_mainContentContainer_ctl01other" space="preserve">wsdl [options] {URL | path}</pre>
</div>
</div>
<div class="labelheading"><strong><!----></strong></div>
<div class="tableSection">
<table width="100%">
    <tbody>
        <tr>
            <th>
            参数
            </th> <th>
            说明
            </th>
        </tr>
        <tr>
            <td>
            <p> <em>URL</em> </p>
            </td>
            <td>
            <p>指向 WSDL 协定文件 (.wsdl)、XSD 架构文件 (.xsd) 或发现文档 (.disco) 的 URL。请注意，您不能将 URL 指定为 .discomap 发现文档。</p>
            </td>
        </tr>
        <tr>
            <td>
            <p> <em>Path</em> </p>
            </td>
            <td>
            <p>本地 WSDL 协定文件 (.wsdl)、XSD 架构文件 (.xsd) 或发现文档（.disco 或 .discomap）的路径。</p>
            </td>
        </tr>
    </tbody>
</table>
</div>
<div class="labelheading"><strong><!----></strong></div>
<table width="100%">
    <tbody>
        <tr>
            <th>
            选项
            </th> <th>
            说明
            </th>
        </tr>
        <tr>
            <td>
            <p> <strong>/appsettingurlkey:</strong> <em>key</em> </p>
            <p>或</p>
            <p> <strong>/urlkey:</strong> <em>key</em> </p>
            </td>
            <td>
            <p>指定在生成代码时用于读取 URL 属性的默认值的配置键。使用 <strong>/parameters</strong> 选项时，此值为 <strong>&lt;appSettingUrlKey&gt;</strong> 元素并且包含一个字符串。</p>
            </td>
        </tr>
        <tr>
            <td>
            <p> <strong>/appsettingbaseurl:</strong> <em>baseurl</em> </p>
            <p>或</p>
            <p> <strong>/baseurl:</strong> <em>baseurl</em> </p>
            </td>
            <td>
            <p>指定计算 URL 片段时所使用的基 URL。此工具通过将相关 URL 从 <em>baseurl </em>参数转换为 WSDL 文档中的 URL 来计算 URL 片段。您必须用此选项来指定 <strong>/appsettingurlkey</strong> 选项。使用 <strong>/parameters</strong> 选项时，此值为 <strong>&lt;appSettingBaseUrl&gt;</strong> 元素并且包含一个字符串。</p>
            </td>
        </tr>
        <tr>
            <td>
            <p> <strong>/d</strong>[<strong>omain</strong>]<strong>:</strong><em>domain</em></p>
            </td>
            <td>
            <p>指定连接到要求身份验证的服务器时要使用的域名。使用 /parameters 选项时，此值为 <strong>&lt;domain&gt;</strong> 元素并且包含一个字符串。</p>
            </td>
        </tr>
        <tr>
            <td>
            <p> <strong>/l</strong>[<strong>anguage</strong>]<strong>:</strong><em>language</em></p>
            </td>
            <td>
            <p>指定用于所生成的代理类的语言。您可以指定 <strong>CS</strong>（C#；默认）、<strong>VB</strong> (Visual Basic)、<strong>JS </strong>(Jscript) 或 <strong>VJS</strong> (Visual J#) 作为语言参数。还可以指定实现 <a id="ctl00_rs1_mainContentContainer_ctl02" onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl02',this);" href="http://msdn.microsoft.com/zh-cn/library/system.codedom.compiler.codedomprovider%28VS.80%29.aspx">System.CodeDom.Compiler.CodeDomProvider 类</a>的类的完全限定名称。使用 /parameters 选项时，此值为 <strong>&lt;language&gt;</strong> 元素并且包含一个字符串。</p>
            </td>
        </tr>
        <tr>
            <td>
            <p> <strong>/n</strong>[<strong>amespace</strong>]<strong>:</strong><em>namespace</em></p>
            </td>
            <td>
            <p>指定所生成的代理或模板的命名空间。默认命名空间是全局命名空间。使用 /parameters 选项时，此值为 <strong>&lt;namespace&gt;</strong> 元素并且包含一个字符串。此元素必须在参数文件中。</p>
            </td>
        </tr>
        <tr>
            <td>
            <p> <strong>/nologo</strong> </p>
            </td>
            <td>
            <p>取消显示 Microsoft 启动标题。使用 /parameters 选项时，此值为 <strong>&lt;nologo&gt;</strong> 元素并且包含 <strong>true</strong> 或 <strong>false</strong>。</p>
            </td>
        </tr>
        <tr>
            <td>
            <p> <strong>/order</strong> </p>
            </td>
            <td>
            <p>在粒子成员上生成显式顺序标识符。</p>
            </td>
        </tr>
        <tr>
            <td>
            <p> <strong>/o</strong>[<strong>ut</strong>]<strong>:</strong><em>filename 或 directoryname</em></p>
            </td>
            <td>
            <p>指定用于保存所生成的代理代码的文件（或目录）。也可以指定要在其中创建该文件的目录。该工具将从 XML Web services 名称来导出默认的文件名称。该工具将生成的数据集保存在不同的文件中。使用 /parameters 选项时，此值为 <strong>&lt;out&gt;</strong> 元素并且包含一个字符串。</p>
            </td>
        </tr>
        <tr>
            <td>
            <p> <strong>/parameters</strong> </p>
            </td>
            <td>
            <p>从指定的 xml 文件读取命令行选项。使用此选项，一次可向 Wsdl.exe 工具传递很多选项。缩写形式为&#8220;/par:&#8221;。可选元素包含在 <strong>&lt;wsdlParameters</strong> xmlns="http://microsoft.com/webReference/"<strong>&gt;</strong> 元素中。有关详细信息，请参见&#8220;备注&#8221;部分。</p>
            </td>
        </tr>
        <tr>
            <td>
            <p> <strong>/parsableerrors</strong> </p>
            </td>
            <td>
            <p>以类似于语言编译器所使用的错误报告格式显示错误。使用 /parameters 选项时，此值为 <strong>&lt;parsableerrors&gt;</strong> 元素，并且为 <strong>true</strong> 或 <strong>false</strong>。</p>
            </td>
        </tr>
        <tr>
            <td>
            <p> <strong>/p</strong>[<strong>assword</strong>]<strong>:</strong><em>password</em></p>
            </td>
            <td>
            <p>指定连接到要求身份验证的服务器时要使用的密码。使用 /parameters 选项时，此值为 <strong>&lt;password&gt;</strong> 元素并且包含一个字符串。</p>
            </td>
        </tr>
        <tr>
            <td>
            <p> <strong>/protocol:</strong> <em>protocol</em> </p>
            </td>
            <td>
            <p>指定要实现的协议。可以指定 <strong>SOAP</strong>（默认值）、<strong>HttpGet</strong>、<strong>HttpPost</strong> 或在配置文件中指定的自定义协议。使用 /parameters 选项时，此值为 <strong>&lt;protocol&gt;</strong> 元素并且包含一个字符串。</p>
            </td>
        </tr>
        <tr>
            <td>
            <p> <strong>/proxy:</strong> <em>URL</em> </p>
            </td>
            <td>
            <p>指定用于 HTTP 请求的代理服务器的 URL。默认为使用系统代理设置。使用 /parameters 选项时，此值为 <strong>&lt;proxy&gt;</strong> 元素并且包含一个字符串。</p>
            </td>
        </tr>
        <tr>
            <td>
            <p> <strong>/proxydomain:</strong> <em>domain</em> </p>
            <p>或</p>
            <p> <strong>/pd:</strong> <em>domain</em> </p>
            </td>
            <td>
            <p>指定连接到要求身份验证的代理服务器时要使用的域。使用 /parameters 选项时，此值为 <strong>&lt;proxydomain&gt;</strong> 元素并且包含一个字符串。</p>
            </td>
        </tr>
        <tr>
            <td>
            <p> <strong>/proxypassword:</strong> <em>password</em> </p>
            <p>或</p>
            <p> <strong>/pp:</strong> <em>password</em> </p>
            </td>
            <td>
            <p>指定当连接到要求身份验证的代理服务器时要使用的密码。使用 /parameters 选项时，此值为 <strong>&lt;proxypassword&gt;</strong> 元素并且包含一个字符串。</p>
            </td>
        </tr>
        <tr>
            <td>
            <p> <strong>/proxyusername:</strong> <em>username</em> </p>
            <p>或</p>
            <p> <strong>/pu:</strong> <em>username</em> </p>
            </td>
            <td>
            <p>指定连接到要求身份验证的代理服务器时要使用的用户名。使用 /parameters 选项时，此值为 <strong>&lt;proxyusername&gt;</strong> 元素并且包含一个字符串。</p>
            </td>
        </tr>
        <tr>
            <td>
            <p> <strong>/server</strong> </p>
            </td>
            <td>
            <p>根据协定生成 XML Web services 的抽象类。默认为生成客户端代理类。使用 <strong>/parameters</strong> 选项时，此值为 <strong>&lt;style&gt;</strong> 元素并且包含&#8220;server&#8221;。</p>
            </td>
        </tr>
        <tr>
            <td>
            <p> <strong>/serverInterface</strong> </p>
            </td>
            <td>
            <p>为
            ASP.NET Web 服务的服务器端实现生成接口。为 WSDL 文档中的每个绑定生成一个接口。WSDL 单独实现 WSDL
            协定（实现接口的类不应在类方法中包括以下属性之一：更改 WSDL 协定的 Web 服务属性或序列化属性）。缩写形式为&#8220;/si&#8221;。使用
            /parameters 选项时，此值为 <strong>&lt;style&gt;</strong> 元素并且包含&#8220;servicerInterface&#8221;。</p>
            </td>
        </tr>
        <tr>
            <td>
            <p> <strong>/sharetypes</strong> </p>
            </td>
            <td>
            <p>打
            开类型共享功能。该功能使用一个类型定义，为不同服务所共享的相同类型创建一个代码文件（命名空间、名称和连网签名必须相同）。引用具有
            &#8220;http://&#8221;URL 的服务作为命令行参数，或为本地文件创建一个 discomap 文档。使用 /parameters 选项时，此值为 <strong>&lt;sharetypes&gt;</strong> 元素，并且为 <strong>true</strong> 或 <strong>false</strong>。</p>
            </td>
        </tr>
        <tr>
            <td>
            <p> <strong>/u</strong>[<strong>sername</strong>]<strong>:</strong><em>username</em></p>
            </td>
            <td>
            <p>指定连接到要求身份验证的服务器时要使用的用户名。使用 /parameters 选项时，此值为 <strong>&lt;username&gt;</strong> 元素并且包含一个字符串。</p>
            </td>
        </tr>
        <tr>
            <td>
            <p> <strong>/?</strong> </p>
            </td>
            <td>
            <p>显示该工具的命令语法和选项。</p>
            </td>
        </tr>
    </tbody>
</table>
<pre class="libCScode" id="ctl00_rs1_mainContentContainer_ctl16other" space="preserve"><br />
</pre>
<img src ="http://www.cnblogs.com/zhucl1006/aggbug/1230609.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43591/" target="_blank">[新闻]为何Apple更精于UI设计 ？</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>asp.net ajax 程式部署问题</title><link>http://www.cnblogs.com/zhucl1006/archive/2008/06/24/1228649.html</link><dc:creator>Leo.Zhu</dc:creator><author>Leo.Zhu</author><pubDate>Tue, 24 Jun 2008 01:52:00 GMT</pubDate><guid>http://www.cnblogs.com/zhucl1006/archive/2008/06/24/1228649.html</guid><wfw:comment>http://www.cnblogs.com/zhucl1006/comments/1228649.html</wfw:comment><comments>http://www.cnblogs.com/zhucl1006/archive/2008/06/24/1228649.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhucl1006/comments/commentRss/1228649.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhucl1006/services/trackbacks/1228649.html</trackback:ping><description><![CDATA[
<p>当使用ASP.NET AJAX、AJAX Control Toolkit开发项目的时候，在部署的时候，需要注意。</p>
<p>1. 建议大家从ASP.NET AJAX的官方网站下载<a href="http://go.microsoft.com/fwlink/?LinkID=77296">ASP.NET 2.0 AJAX Extensions 1.0</a>来进行安装，以便取得组件所提供的支援。</p>
<p>2.如果不打算安装AjaxExtensions组件，可以将AJAXExtensionsToolbox.dll、System.Web.Extensions.Design.dll以及System.Web.Extensions.dll等组件复制到网站专案内的Bin资料夹内，如此一来，就算网站所要发布的目标主机上没有安装ASP.NET 2.0 AJAX Extensions 1.0，一样可以执行ASP.NET AJAX网页。</p>
<br/><br/><img src ="http://www.cnblogs.com/zhucl1006/aggbug/1228649.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43590/" target="_blank">[新闻]全球最快计算机排名 上海“魔方”进前十</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>.net 下载站收集</title><link>http://www.cnblogs.com/zhucl1006/archive/2008/06/11/1217255.html</link><dc:creator>Leo.Zhu</dc:creator><author>Leo.Zhu</author><pubDate>Wed, 11 Jun 2008 03:10:00 GMT</pubDate><guid>http://www.cnblogs.com/zhucl1006/archive/2008/06/11/1217255.html</guid><wfw:comment>http://www.cnblogs.com/zhucl1006/comments/1217255.html</wfw:comment><comments>http://www.cnblogs.com/zhucl1006/archive/2008/06/11/1217255.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhucl1006/comments/commentRss/1217255.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhucl1006/services/trackbacks/1217255.html</trackback:ping><description><![CDATA[
<p>DockPanel Suite：开发类似VS.net的界面，#Develop就是使用的这个控件。<br/>网址：<a href="http://sourceforge.net/projects/dockpanelsuite/">http://sourceforge.net/projects/dockpanelsuite/</a><br/><br/>ZedGraph：二维图表绘制控件，可以绘制大部分的Excel图表。<br/>网址：<a href="http://zedgraph.sourceforge.net/">http://zedgraph.sourceforge.net/</a><br/><br/>Math.net：C#实现的数值运算开源库。<br/>网址：<a href="http://nmath.sourceforge.net/wiki/index.php/Main_Page">http://nmath.sourceforge.net/wiki/index.php/Main_Page</a><br/><br/>CommandBar：工具条，菜单，按钮<br/><a href="http://www.aisto.com/roeder/dotnet/">http://www.aisto.com/roeder/dotnet/</a> （还有其他东东）</p>
<br/><p>推荐几个.NET开源图表组件<br/><br/><a href="http://www.cnblogs.com/unruledboy/archive/2004/11/19/65600.html" target="_new"><span style="COLOR: #0066aa">http://www.cnblogs.com/unruledboy/archive/2004/11/19/65600.html</span></a></p>
<p>.net界面控件免费下载<br/><a href="http://www.evget.com/zh-CN/products/category/0,79,0,0/default.aspx" target="_new" rel="nofollow"><span style="COLOR: #0066aa">http://www.evget.com/zh-CN/products/category/0,79,0,0/default.aspx</span></a></p>
<img src ="http://www.cnblogs.com/zhucl1006/aggbug/1217255.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43589/" target="_blank">[新闻]百度股价大跌25%</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>asp.net 小技巧</title><link>http://www.cnblogs.com/zhucl1006/archive/2008/06/05/1214176.html</link><dc:creator>Leo.Zhu</dc:creator><author>Leo.Zhu</author><pubDate>Thu, 05 Jun 2008 02:54:00 GMT</pubDate><guid>http://www.cnblogs.com/zhucl1006/archive/2008/06/05/1214176.html</guid><wfw:comment>http://www.cnblogs.com/zhucl1006/comments/1214176.html</wfw:comment><comments>http://www.cnblogs.com/zhucl1006/archive/2008/06/05/1214176.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhucl1006/comments/commentRss/1214176.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhucl1006/services/trackbacks/1214176.html</trackback:ping><description><![CDATA[
<p>后台添加属性</p>
<p>GridView1.Attributes["bordercolor"] = System.Drawing.ColorTranslator.ToHtml(System.Drawing.Color.Silver);</p>
<br/><p>一个页面不执行load 的方法解决：</p>
<p>Response.Cache.SetNoStore();<br/>Response.AppendHeader("Pragma", "no-cache");</p>
<br/><p>ModalPopupExtender 探出模态后，确定按钮使其后台相应</p>
<p>this.OkButton.OnClientClick = "__doPostBack('" + this.OkButton.UniqueID + "','')";<br/></p>
<p>TextBox只能输入数字</p>
<p>onkeypress="if (event.keyCode &lt; 48 || event.keyCode &gt;57) event.returnValue = false;"</p>
<img src ="http://www.cnblogs.com/zhucl1006/aggbug/1214176.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43588/" target="_blank">[新闻]杨致远将辞去雅虎CEO职务</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>XMLPath读取指定属性值的Node</title><link>http://www.cnblogs.com/zhucl1006/archive/2008/05/04/1181806.html</link><dc:creator>Leo.Zhu</dc:creator><author>Leo.Zhu</author><pubDate>Sun, 04 May 2008 06:52:00 GMT</pubDate><guid>http://www.cnblogs.com/zhucl1006/archive/2008/05/04/1181806.html</guid><wfw:comment>http://www.cnblogs.com/zhucl1006/comments/1181806.html</wfw:comment><comments>http://www.cnblogs.com/zhucl1006/archive/2008/05/04/1181806.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhucl1006/comments/commentRss/1181806.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhucl1006/services/trackbacks/1181806.html</trackback:ping><description><![CDATA[
<p>&lt;?xml version="1.0" encoding="utf-8" ?&gt;<br/>&lt;aaa&gt;<br/>&lt;bbbb type="1"&gt;<br/>&lt;cccc PageName="2"&gt;<br/>&lt;Item key="" value="" /&gt;<br/>&lt;Item key="" value="" /&gt;<br/>&lt;Item key="" value="" /&gt;<br/>&lt;Item key="" value="" /&gt;<br/>&lt;Item key="" value="" /&gt;<br/>&lt;/ccc&gt;<br/>&lt;/bbb&gt;<br/>&lt;/aaa&gt;</p>
<br/><p>aaa/bbbb[@type='1']/cccc[@PageName='2'] 直接读取到ccc的节点</p>
<img src ="http://www.cnblogs.com/zhucl1006/aggbug/1181806.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43587/" target="_blank">[新闻]2008年11月18日科技博客精选</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>reflector</title><link>http://www.cnblogs.com/zhucl1006/archive/2008/05/04/1181359.html</link><dc:creator>Leo.Zhu</dc:creator><author>Leo.Zhu</author><pubDate>Sun, 04 May 2008 02:44:00 GMT</pubDate><guid>http://www.cnblogs.com/zhucl1006/archive/2008/05/04/1181359.html</guid><wfw:comment>http://www.cnblogs.com/zhucl1006/comments/1181359.html</wfw:comment><comments>http://www.cnblogs.com/zhucl1006/archive/2008/05/04/1181359.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhucl1006/comments/commentRss/1181359.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhucl1006/services/trackbacks/1181359.html</trackback:ping><description><![CDATA[
<p>.net 工具 Reflector,可以方便查看.net 程式的代码.</p>
<p>下载地址: <a href="http://www.namipan.com/d/Reflector.rar/95c0e0a812499e95cc98d2712b670a7ad914628fa6551000">http://www.namipan.com/d/Reflector.rar/95c0e0a812499e95cc98d2712b670a7ad914628fa6551000</a></p>
<br/><p>FileDisassembler插件: <a href="http://www.namipan.com/d/Reflector.FileDisassembler.zip/e541a73c5e569451f420c79d46a3d16207db086c1a640000">http://www.namipan.com/d/Reflector.FileDisassembler.zip/e541a73c5e569451f420c79d46a3d16207db086c1a640000</a></p>
<br/><img src ="http://www.cnblogs.com/zhucl1006/aggbug/1181359.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43587/" target="_blank">[新闻]2008年11月18日科技博客精选</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>将Color的格式转变成颜色值</title><link>http://www.cnblogs.com/zhucl1006/archive/2008/04/30/1177507.html</link><dc:creator>Leo.Zhu</dc:creator><author>Leo.Zhu</author><pubDate>Wed, 30 Apr 2008 03:53:00 GMT</pubDate><guid>http://www.cnblogs.com/zhucl1006/archive/2008/04/30/1177507.html</guid><wfw:comment>http://www.cnblogs.com/zhucl1006/comments/1177507.html</wfw:comment><comments>http://www.cnblogs.com/zhucl1006/archive/2008/04/30/1177507.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhucl1006/comments/commentRss/1177507.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhucl1006/services/trackbacks/1177507.html</trackback:ping><description><![CDATA[
<p>Code:</p>
<p>s = "#" + this.ColorOnBlue.R.ToString("X2") + this.ColorOnBlue.G.ToString("X2") + this.ColorOnBlue.B.ToString("X2");<br/></p>
<img src ="http://www.cnblogs.com/zhucl1006/aggbug/1177507.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43586/" target="_blank">[新闻]闲钱撤退 国外LP拟转让国内PE股权</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>ue 14 key</title><link>http://www.cnblogs.com/zhucl1006/archive/2008/04/28/1175201.html</link><dc:creator>Leo.Zhu</dc:creator><author>Leo.Zhu</author><pubDate>Mon, 28 Apr 2008 13:40:00 GMT</pubDate><guid>http://www.cnblogs.com/zhucl1006/archive/2008/04/28/1175201.html</guid><wfw:comment>http://www.cnblogs.com/zhucl1006/comments/1175201.html</wfw:comment><comments>http://www.cnblogs.com/zhucl1006/archive/2008/04/28/1175201.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhucl1006/comments/commentRss/1175201.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhucl1006/services/trackbacks/1175201.html</trackback:ping><description><![CDATA[
<br/><p>用户名：maitian</p>
<br/><p>注册码：GKDIJ-JGLHT-MNBGA-QODRR-EHIEY-JIMLR-MJBHB-OQJRI</p>
<br/><img src ="http://www.cnblogs.com/zhucl1006/aggbug/1175201.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43585/" target="_blank">[新闻]商刊：内嵌整合是即时通讯未来发展趋势</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Web.Config配置节加密和解密</title><link>http://www.cnblogs.com/zhucl1006/archive/2008/04/25/1171321.html</link><dc:creator>Leo.Zhu</dc:creator><author>Leo.Zhu</author><pubDate>Fri, 25 Apr 2008 09:13:00 GMT</pubDate><guid>http://www.cnblogs.com/zhucl1006/archive/2008/04/25/1171321.html</guid><wfw:comment>http://www.cnblogs.com/zhucl1006/comments/1171321.html</wfw:comment><comments>http://www.cnblogs.com/zhucl1006/archive/2008/04/25/1171321.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhucl1006/comments/commentRss/1171321.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhucl1006/services/trackbacks/1171321.html</trackback:ping><description><![CDATA[
<p>打开.Net Framework附带的SDK命令提示符。<br/><br/>加密命令：<br/>aspnet_regiis -pe "connectionStrings" -app "/encrypttest"<br/>-pe开关用来指定web.config中需要加密的节（Web.Config文件中的connectionStrings配置节）。<br/>-app开关用来指定IIS里面的虚拟目录，如果为根目录网站，为"/".<br/><br/>解密命令：<br/>aspnet_regiis -pd "connectionStrings" -app "/encrypttest"<br/>唯一的区别就是，我们用-pd开关代替了-pa开关。</p>
<img src ="http://www.cnblogs.com/zhucl1006/aggbug/1171321.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43584/" target="_blank">[新闻]今日财报</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item></channel></rss>