ExtPB快速入门

合集下载

ext学习资料(图文)

ext学习资料(图文)

ExtJs2.0学习系列(1)--Ext.MessageBox1.Ext.MessageBox.alert()方法有四个参数,为简单起见,主要介绍前面三个参数:alert( title , msg , function(){} )其中title,msg为必选参数,function为可选参数,在关闭弹出窗口后触发。

Ext.MessageBox.alert("title","msg");Ext.MessageBox.alert("title","msg",function(){alert("关闭对话框后弹出!")});2.Ext.MessageBox.confirm()方法基本上同alert()方法一模一样。

注意这点:Ext.MessageBox.confirm("title","msg",function(e){alert(e);});这个参数e是什么?它是你点击的弹出框的按钮的值,三种值:yes,no,cancel.Alert()方法也是如此,不过只有两种值:ok,cancel.3.Ext.MessageBox.prompt()方法有六个参数,比前面alert方法多一个返回值和是否多行。

Ext.MessageBox.prompt("title","msg");Ext.MessageBox.prompt("title","msg",function(e,text){alert(e+"-" +text);});//输入"qianxudetianxia",点击ok按钮,弹出ok-qianxudetianxia Ext.MessageBox.prompt("title","msg",function(e,text){alert(e+"-" +text);},this,true);//true为多行,this表示作用域4.Ext.MessageBox.show()方法功能很强大,采用config配置形式,比前面的方法使用更方便。

ExtJs4.0入门教程

ExtJs4.0入门教程

ExtJS简介

ExtJS显示效果示例1
ExtJS简介

ExtJS显示效果示例2
ExtJS简介

认识ExtJS的开发包
要开始ExtJS之旅的第一步是要获得开发包,可以 从官方网站/下载。下载 地址是 /products/extjs/downloa d

ExtJS组件之Panel


控件
控件(widgets):控件是指可以直接在页面中创建 的可视化组件,比如面板、选项板、表格、树、 窗口、菜单、工具栏、按钮等等,在我们的应用 程序中可以直接通过应用这些控件来实现友好、 交互性强的应用程序的UI。
ExtJS基础组件


组件分类举例
容器组件:如toolbar、pagingtoolbar、panel、 form、menu、treePanel、gridPanel、window等。 工具栏及菜单栏组件:如tbseparator(工具栏分 隔符)、menuitem(菜单项)等。 表单及元素组件:如checkboxfield(复选框)、 combo(下拉列表)、datefield(日期选择项)等。 其他组件(包括图表、视图、编辑、按钮组件): 如chart、button。
• • • • •
• •
ExtJS简介

ExtJS API文档
ExtJS简介


从Hello World开始
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <link rel='stylesheet' type='text/css' href='./ext/resources/css/ext-all.css'> <script type="text/javascript" src="./ext/bootstrap.js"></script> <script type="text/javascript"> Ext.onReady(function(){ Ext.MessageBox.alert('helloWorld',"I'm coming"); }); </script> </head> <body> </body> </html>

EXT js api详细讲解

EXT js api详细讲解

/j2me/profile (1)EXT核心API详解(一)-Ext (1)EXT核心API详解(二)-Array/Date/Function/Number/String (5)EXT核心API详解(三)-Ext.Element (9)EXT核心API详解(四)-Ext.DomQuery/DomHelper/Template (21)EXT核心API详解(五)- (24)EXT核心API详解(六)-Ext.Fx (27)EXT核心API详解(七)- (30)EXT核心API详解Ext.data(八) -Connection/Ajax/Record (35)EXT核心API详解Ext.data(九)-DataProxy/HttpProxy/MemoryProxy/ScriptTagProxy (38)EXT核心API详解Ext.data(十)-DataReader/ArrayReader/JsonReader/XmlReader .. 40EXT核心API详解Ext.data(十一)-Store (44)EXT核心API详解Ext.data(十二)-GroupingStore/JsonStore/SimpleStore (49)EXT核心API详解Ext.data(十三)-Tree/Node (51)EXT核心API详解Ext.widgets(十四)-Button,SplitButton,CycleButton (54)EXT核心API详解Ext.widgets(十五)-form(上) (61)EXT核心API详解Ext.widgets(十六)-form(下) (67)EXT核心API详解Ext.menu.Menu(十七) (74)EXT核心API详解Ext.Toolbar(十八) (80)EXT核心API详解Ext.widgets(十九)-grid(1) (83)EXT核心API详解Ext.widgets(二十)-grid(2) (89)/j2me/profileEXT核心API详解(一)-ExtExt类addBehaviors( Object obj ) : void对选择的元素应用事件侦听器,事件名以@附加在结尾,例如addBehaviors({// id=foo下所有的a标签加入click事件'#foo a@click' : function(e, t){// do something},// 用,分隔多个选择器'#foo a, #bar span.some-class@mouseover' : function(){// do something}});apply( Object obj, Object config, Object defaults ) : Object从config拷贝所有的属性到obj,如果有defaults参数,也将拷贝其属性到objapplyIf( Object obj, Object config ) : Object从config拷贝所有属性至obj(如果obj未定义相应属性)decode(Object obj) : String编码一个对象/数组或其它值为一个json格式字符串(支持对象,数组,日期,字符串)destroy( Mixed arg1, Mixed (optional), Mixed (optional) ) : void尝试去移除每个传入的对象,包括DOM,事件侦听者,并呼叫他们的destroy方法(如果存在)each( Array/NodeList/Mixed array, Function fn, Object scope ) : void 利用array中的每个元素迭代调用fn.直到fn返回假,调用格式fn.call(scope || array[i], array[i], i, array);encode(String json) : Object将一个json格式字符串反序列化为对象escapeRe( String str ) : String为字符串正则编码将.在*+?^${}()|[]/\字符前加\extend( Object subclass, Object superclass, [Object overrides] ) : void 从superclass类继承subclass,overrides参数是要重载的方法列表,详见overridefly( String/HTMLElement el, [String named] ) : Element得到全局共享的一个浮动元素el,如果有多个浮动元素可以使用命名以避免潜在的冲突get( Mixed el ) : Element得到一个Element对象,参数可以是id或DOM节点或已存在的Element对象getBody() : Element得到当前文档的body对象getCmp( String id ) : Component通过id得到一个Component对象getDoc() : Element得到当前文档getDom( Mixed el ) : HTMLElement通过id或节点或Element对象返回一个DOM节点id( [Mixed el], [String prefix] ) : String为对象el生成一个惟一id,如果对象本身已有id,将不会被改变(可以使用前导符prefix)isEmpty( Mixed value, [Boolean allowBlank] ) : Boolean判断值是否为空,null, undefined或空字符串将返回真,如果allowBlank定义为真,空字符串将不被视为空namespace( String namespace1, String namespace2, String etc ) : void 创建一个命名空间,例space('Company', 'Company.data');Company.Widget = function() { ... }Company.data.CustomStore = function(config) { ... }num( Mixed value, Number defaultValue ) : Number将value转为数值,如果value不是合法的数值类型,将返回defaultValue,其实defaultValue并不一定要求是数值类型,只要你愿意onReady( Function fn, Object scope, boolean override ) : void当文档准备好了之后引发fn,发生在page的onload事件之前,并且图片此时都还没有载入,scope定义执有者,override定义scope是否有默认的选择override( Object origclass, Object overrides ) : void利用overrides重写origclass的方法,例Ext.override(MyClass, {newMethod1: function(){// etc.},newMethod2: function(foo){// etc.}});query( String path, [Node root] ) : Array通过path,在root中选择节点数组,path可以是以下四种选择器之一[元素选择器] 例:* 任意节点E 一个E标签元素E F 祖先节点为E的F节点E >F 或 E/F 父节点为E的F节点E +F 前一个兄弟节点为E的F节点E ~F 前面的兄弟节点中有E的F节点[属性选择器] 例:E[foo] 有foo属性的E节点E[foo=bar] 有foo属性值为bar的E节点E[foo^=bar] foo属性以bar开始的E节点E[foo$=bar] foo属性以bar结尾的E节点E[foo*=bar] foo属性中有bar字符串的E节点E[foo%=2] foo属性能被2整除的E节点E[foo!=bar] foo属性值不为bar的E节点[伪类选择器] 例:E:first-child E节点是父节点中第一个子节点E:last-child E节点是父节点中最后一个子节点E:nth-child(n) E是父节点中每n个节点E:nth-child(odd) E是父节点中的奇数节点E:nth-child(even) E是父节点中的偶数节点E:only-child E是父节点中惟一的子节点E:checked checked属性为真的节点E:first 子孙节点中的第一个E节点E:last 子孙节点中的最后一个E节点E:nth(n) 子孙节点中的第n个E节点E:odd E:nth-child(odd)的简写E:even E:nth-child(even)的简写E:contains(foo) innerHTML属性中含有foo的E节点E:nodeValue(foo) E节点中包含一个值为foo的文本节点E:not(S) 不匹配简单选择器S的E节点E:has(S) 有能匹配简单选择器S的子节点的E节点E:next(S) 下一个兄弟节匹配简单选择器S的E节点E:prev(S) 前一个兄弟节匹配简单选择器S的E节点type( Mixed object ) : String判断对象类型,如果不是下列值之一将返回false[样式选择器] 例:E{display=none} display属性值为none的E节点E{display^=none} display属性值以none开始的E节点E{display$=none} display属性值以none结束的E节点E{display*=none} display属性值含有none子字串的E节点E{display%=2} display属性值能被2整除的E节点E{display!=none} display属性值不等于none的E节点select( String/Array selector, [Boolean unique], [HTMLElement/String root] ) :CompositeElementLite/CompositeElement在root内通过样式选择器或元素数组selector选择元素或元素列表,unique指示是否只选择惟一值urlDecode( String string, [Boolean overwrite] ) : Object将url格式字符串string解码为json对象,overwrite参数指示是否不重写已存在的对象,例Ext.urlDecode("foo=1&bar=2"); //返回 {foo: 1, bar: 2}Ext.urlDecode("foo=1&bar=2&bar=3&bar=4"); //返回 {foo: 1, bar: 4}. Ext.urlDecode("foo=1&bar=2&bar=3&bar=4", true); //返回 {foo: 1, bar: [2, 3, 4]}.urlEncode( Object o ) : String将json对象编码为url格式字符串,参见urlDecodetype( Mixed object ) : String得到object类型,如果不为以下列举值之一则返回falsestring/number/boolean/function/object/array/regexp/element/nodelist/t extnode/whitespaceEXT核心API详解(二)-Array/Date/Function/Number/StringArray类indexOf( Object o ) : Numberobject是否在数组中,找不到返回-1;找到返回位置remove( Object o ) : Array从数组中删除指定的对象object,如果找不到object则数组无变化Number类constrain( Number min, Number max ) : Number检查数值是否介于min与max之间, 如果大于max 返回max,如果小于min返回min, 否则返回当前值String类escape( String string ) : String将string中的'和\替换为\' \\format( String string, String value1, String value2 ) : String格式化字符串,例:var cls = 'my-class', text = 'Some text';var s = String.format('<div class="{0}">{1}</div>', cls, text);// 结果<div class="my-class">Some text</div>leftPad( String string, Number size, [String char] ) : String以char将string补齐为size长度,char默认定义空格toggle( String value, String other ) : String交换值,如果当前值等于value,则被赋值other,反之等于value,例:sort = sort.toggle('ASC', 'DESC');trim() : String去除开头或结尾多余的空格Date类Date.parseDate( String input, String format ) : Date将字符串string依指定的格式format转换为时间,其中格式定义详见format 方法例:dt = Date.parseDate("2006-01-15 3:20:01 PM", "Y-m-d h:i:s A" );add( String interval, Number value ) : Date增加时间段,String interval在Data类中已定义LI = "ms";Date.SECOND = "s";Date.MINUTE = "mi";Date.HOUR = "h";Date.DAY = "d";Date.MONTH = "mo";Date.YEAR = "y";例var dt2 = new Date('10/1/2006').add(Date.DAY, -5);between( Date start, Date end ) : Boolean是否在两个指定的时间之间clearTime( Boolean clone ) : Date清除时间信息,如果clone为真,则克隆自已并返回新Date,本身的值并不改变,反之则修改自身的值clone() : Date克隆format( String format ) : String格式化时间d 两位数的日期 01 至 31D 三字母的星期名 Mon 至 Sunj 一位数的日期 1 至 31l 完整的星期名 Sunday 至 SaturdayS 日期的英文顺序刻词尾,两个字符 st, nd, rd or th. w 一周中的第几天 0 (星期天) 至 6 (星期六) z 一年中的第几天 0 至 364 (闰年365 )W ISO-8601 星期数, 周一算一个星期的开始 1 至 53F 月的完整英文名 January 至 Decemberm 月,以0前导 01 至 12M 三字母的简写月名 Jan 至 Decn 月 1 至 12t 本月有多少天 28 至 31L 是否闰年 1/0Y 完整的年份例: 1999 或 2003y 年的后两位例: 99 或 03a 上午/下午小写 am 或 pmA 上午/下午大写 AM 或 PMg 小时/12小时制 1 至 12G 小时/24小时制 0 至 23h 小时/12小时制 01 至 12H 小时/24小时制 00 至 23i 分钟 00 至 59s 秒 00 至 59u 毫秒 001 至 999O 时区,与格林威治标准时间之差例: +0200T 时区简写例: EST, MDT ...Z 时区间距 -43200 至 50400其中Date类内置了几种格式Date.patterns = {ISO8601Long:"Y-m-d H:i:s",ISO8601Short:"Y-m-d",ShortDate: "n/j/Y",LongDate: "l, F d, Y",FullDateTime: "l, F d, Y g:i:s A",MonthDay: "F d",ShortTime: "g:i A",LongTime: "g:i:s A",SortableDateTime: "Y-m-d\\TH:i:s",UniversalSortableDateTime: "Y-m-d H:i:sO",YearMonth: "F, Y"};当然ISO8601Long和ISO8601Short还是非常招人喜欢的例:dt.format(Date.patterns.ISO8601Long);dt.format('Y-m-d H:i:s');getDayOfYear() : Number一年中的第几天,从0开始getDaysInMonth() : Number本月有多少天,getElapsed( [Date date] ) : Number当前日期对象与date之间相差的毫秒数getFirstDateOfMonth() : Date本月的第一天getFirstDayOfMonth() : Number本月第一天是星期几getGMTOffset() : String时区信息(见格式定义中的'O')getFirstDateOfMonth() : Date本月最后一天getFirstDayOfMonth() : Number本月最后一天是星期几getSuffix() : String日期后导符(见格式定义中的S)getTimezone() : String时区(见T)getWeekOfYear() : Number一年中的第几周(见W)isLeapYear() : Boolean是否闰年Function类createCallback(/*args...*/) : Function创建回叫方法createDelegate( [Object obj], [Array args], [Boolean/Number appendArgs] ) :创建委托这两个记法除了传参方式不同,看不出有什么差异都是调用method.apply,createCallback可以看作一个简化版的createDelegate createCallback==>return method.apply(window, args);createDelegate==>return method.apply(obj || window, callArgs);前者参数比较简单,直接传过去了,后者的规则比较复杂点,如果appendArgs为真,args将附加在参数列表之后,如果是数值,args将在参数列表的appendargs 位置插入,其它情况下原参将不起作用例:var fn = func1.createDelegate(scope, [arg1,arg2], true)//fn(a,b,c) === scope.func1(a,b,c,arg1,arg2);var fn = func1.createDelegate(scope, [arg1,arg2])//fn(a,b,c) === scope.func1(arg1,arg2);var fn = func1.createDelegate(scope, [arg1,arg2], 1)//fn(a,b,c) === scope.func1(a,arg1,arg2,b,c);var fn = func1.createCallback(arg1, arg2);//fn() === func1(arg1, arg2)createCallback : function(/*args...*/)createInterceptor( Function fcn, [Object scope] ) : Function创建阻断方法,如果fcn返回false,原方法将不会被执行createSequence( Function fcn, [Object scope] ) : Function创建组合方法,执行原方法+fcndefer( Number millis, [Object obj], [Array args], [Boolean/Number appendArgs] ):Number定时执行,隔millis毫秒后执行原方法EXT核心API详解(三)-Ext.ElementExt.Element类Element( String/HTMLElement element, [Boolean forceNew] )由id或DOM节点创建Element对象Element.fly( String/HTMLElement el, [String named] ) : Element由id或DOM节点创建一个全局共享的活动元素,可由named命名以避免可能的冲突Element.get( Mixed el ) : Element由id或DOM节点或已存在的Element得到一个Ext.Element对象addClass( String/Array className ) : Ext.Element为元素添加一个或多个css类名addClassOnClick( String className ) : Ext.Element为点击事件添加和移除css类addClassOnFocus( String className ) : Ext.Element为得到和失去焦点添加和移除css类addClassOnOver( String className, [Boolean preventFlicker] ) :Ext.Element为鼠标移入移出事件添加和移除css类(该方法未实际使用preventFlicker参数)addKeyListener( Number/Array/Object/String key, Function fn, [Object scope] ) : Ext.KeyMap为对象添加按键侦听 key由数值或字符串或{key: (number or array), shift: (true/false), ctrl: (true/false), alt: (true/false)}这样的对象或他们的数组组成addKeyMap( Object config ) : Ext.KeyMap功能同addKeyListener,只是传参方式不同例:el.addKeyMap({key : "ab",ctrl : true,fn: fn,scope:el });和el.addKeyListener({key:"ab",ctrl:true},fn,el);是等价的,都是在按下ctral+a或ctrl+b后呼叫fnaddListener( String eventName, Function fn, [Object scope], [Object options] ) : void定义事件侦听,eventName:事件名,fn:事件处理方法,scrope:范围,其中options的定义比较复杂,可以包含以下属性scope {Object} : 处理fn的范围delegate {String} : 一个简单选择器(过滤目标或寻找目标的子孙节点) stopEvent {Boolean} : 阻止事件,等于preventDefault+stopPropagation preventDefault {Boolean} : 阻止默认活动stopPropagation {Boolean} : 阻止事件冒泡normalized {Boolean} :设为flase将允许浏览器事件替代Ext.EventObjectdelay {Number} : 延时多少毫秒后发生single {Boolean} : 只运行一次buffer {Number} : 在Ext.util.DelayedTask中预定事件当然,还可能自定义参数以传入functionalignTo( Mixed element, String position, [Array offsets],[Boolean/Object animate] ) : Ext.Element将el对齐到element,positon,指示对齐的位置,可选以下定义tl 左上角(默认)t 上居中tr 右上角l 左边界的中央c 居中r 右边界的中央bl 左下角b 下居中br 右下角position还可以使用?约束移动不能超出窗口offsets 偏移量,以象素为单位animate 详见animate定义例:div1.alignTo('div2','c-bl?',[20,0],true);采用默认动画将div1的最中央对齐到div2的左下角,并右移20个象素,且不能超出窗口anchorTo( Mixed element, String position, [Array offsets],[Boolean/Object animate], [Boolean/Number monitorScroll], Function callback ) : Ext.Element功能和alignTo类似,只是当窗口重定义大小的时候也会引发重对齐事件monitorScroll参数说明是否需要监视滚动条行为,如果定义为数值则是定义的延时,单位为毫秒,默认是50ms,callback定义了animate完成后的回叫方法animate( Object args, [Float duration], [Function onComplete], [String easing], [String animType] ) : Ext.Element执行动画.args:目标duration:时间间隔.默认是0.35Function:完成后的回叫方法easing:行为方法默认值是:easeOut,可选值在ext_base中找到,但没有说明,以下内容从yahoo ui中找到的easeNone:匀速easeIn:开始慢且加速easeOut:开始快且减速easeBoth:开始慢且减速easeInStrong:开始慢且加速,t的四次方easeOutStrong:开始快且减速,t的四次方easeBothStrong:开始慢且减速,t的四次方elasticIn:elasticOut:elasticBoth:backIn:backOut:backBoth:bounceIn:bounceOut:bounceBoth:太多,慢慢体会吧animType:定义动画类型,默认值run 可选值:color/motion/scrollappendChild( String/HTMLElement/Array/Element/CompositeElement el ) : Ext.Element添加子元素el(el须已存在)appendTo( Mixed el ) : Ext.Element将当前元素添加到elapplyStyles( String/Object/Function styles ) : Ext.Element应用样式,styles是"width:100px"这样的字符串或{width:"100px"}这样的对象,function是指返回这样的字串和对象的函数,这是一个没有用的批示,因为任何传参的地方都可以是返回要求类型的function.另见setStyleautoHeight( [Boolean animate], [Float duration], [Function onComplete], [String easing] ) : Ext.Element自适应高度,参数都是老相识了,惟一需要注意的是这个方法使用了setTimeout,高度不会马上变更blur() : Ext.Element失去焦点,忽略所有的异常boxWrap( [String class] ) : Ext.Element用一个指定样式class的div将当前元素包含起来,class默认值为x-boxcenter( [Mixed centerIn] ) : voidalignTo的简华版.相当于alignTo(centerIn || document, 'c-c'),当前元素的中心对齐到centerIn元素的中心child( String selector, [Boolean returnDom] ) : HTMLElement/Ext.Element 依selector选择子孙节点,依returnDom不同批示返回html元素还是ext元素,未定义或false时返回Ext.Elementclean( [Boolean forceReclean] ) : void清除无用的空白文本节点(我喜欢这个想法)clearOpacity() : Ext.Element清除当前元素样式中不通用元素,清除ie中的filter,清除FF中的opacity/-moz-opacity/-khtml-opacityclearPositioning( [String value] ) : Ext.Element清除定位,恢复到默认值,相当于this.setStyle({"left": value,"right": value,"top": value,"bottom": value,"z-index": "","position" : "static"});clip() : Ext.Element裁剪溢出部分,用unclip()恢复contains( HTMLElement/String el ) : Boolean当前元素中是否存在elcreateChild( Object config, [HTMLElement insertBefore], [Boolean returnDom] ) : Ext.Element创建一个新的子节点config :DomHelper元素对象,如果没有特别指明tag,将使用div做默认tag,详情参见DomHelper,如果未定义insertBefore,则追加createProxy( String/Object config, [String/HTMLElement renderTo], [Boolean matchBox] ) : Ext.Element创建一个代理元素config:代理元素的类名或DomHelper config对象renderTo:将要绘制代理元素的html element或idmatchBox:是否对齐createShim() : Ext.Element在当前元素之前创建一个classname为ext-shim的iframe,有什么用?down( String selector, [Boolean returnDom] ) : HTMLElement/Ext.Element 通过样式选择器selector选择子孙节点enableDisplayMode( [String display] ) : Ext.ElementsetVisibilityMode的简便方法findParent( String selector, [Number/Mixed maxDepth], [Boolean returnEl] ) : HTMLElement通过简单选择器selector寻找祖先节点 ,直到maxDepth(元素maxDepth默认为10,也可以是指定的DOM 节点),找不到返回nullfindParentNode( String selector, [Number/Mixed maxDepth], [Boolean returnEl] ) : HTMLElement从父元素开始使用简单选择器selector选择DOM节点first( [String selector], [Boolean returnDom] ) :Ext.Element/HTMLElement得到第一个符合selector条件的子节点,跳过文本节点focus() : Ext.Element得到焦点getAlignToXY( Mixed element, String position, [Array offsets] ) : Array 得到当前元素按position规则对齐到element时的XY坐标值position/offsets参数参见alignTo方法getAnchorXY( [String anchor], [Object size], [Boolean local] ) : Array 得到当前元素锚点指定的坐标值 anchor定义参见alignTo方法,默认为cgetAttributeNS( String namespace, String name ) : String得到使用了命名空间namespace的属性name之值,getBorderWidth( String side ) : Number得到side指定的边框之和,side可以是t, l, r, b或他们的任意组合,比如getBorderWidth("lr")就是得到左边框和右边框之和getBottom( Boolean local ) : Number得到当前元素的底部纵坐标,元素纵坐标+元素高度getBox( [Boolean contentBox], [Boolean local] ) : Object得到当前元素的box对象:{x,y,width,height}getCenterXY() : Array如果当前元素要居中对齐时的横纵坐标值,等价getAlignToXY(document, 'c-c')getColor( String attr, String defaultValue, [String prefix] ) : void 得到当前元素指定attr的颜色值,如果没指定,返回defualtValue,比较郁闷的是明明不是void为什么api中批示是一个void?应该是个字符串getComputedHeight() : Number得到计算过的高度,得到offsetHeight或css中定义的height值之一,如果使用了padding/borders,也会计算进去getComputedWidth() : Number见getComputedHeightgetFrameWidth( String sides ) : Number得到sides定义的border宽度和padding定义的宽度之和,side定义见getBorderWidthgetHeight( [Boolean contentHeight] ) : Number返回元素的offsetHeightgetLeft( Boolean local ) : Number得到横坐标getMargins( [String sides] ) : Object/Number如果没有定义sides,则返回一个含有{left,top,width,height}对象,反之返回side指定的宽度,side定义见getBorderWidthgetOffsetsTo( Mixed element ) : Array计算从element到当前元素的偏移量getPadding( String side ) : Number得到由side指定的padding之和getPositioning() : Object得到当前元素的位置信息返回含以下属性的对象{position,left,right,top,bottom,z-index}getRegion() : Region得到当前元素的区域信息返回含有以下属性的Ext.lib.Region对象{top, left, bottom, right}getRight( Boolean local ) : Number右边界值getScroll() : Object得到一个批示滚动条位置的对象{left, top}getSize( [Boolean contentSize] ) : Object得到宽度和高度组成的对象信息{width,height}getStyle( String property ) : String得到指定的样式值 getStyles简化版getStyles( String style1, String style2, String etc. ) : Object得到由参数组成的对象例:el.getStyles('color', 'font-size', 'width')可能返回 {'color': '#FFFFFF', 'font-size': '13px', 'width': '100px'}getTop( Boolean local ) : Number得到顶点纵坐标getUpdater() : Ext.Updater得到当前元素的Updater对象,参见Ext.Updater类getValue( Boolean asNumber ) : String/Number得到value属性的值getViewSize() : Object得到clientHeight和clientWidth信息给成的对象{width,height}getWidth( [Boolean contentWidth] ) : Number..这样的方法真多getX() : NumbergetXY() : ArraygetY() : Array得到页面偏移量,也就是绝对坐标hasClass( String className ) : Boolean样式类className 存在于当前元素的dom 节点中hide( [Boolean/Object animate] ) : Ext.Element隐藏当前元素hover( Function overFn, Function outFn, [Object scope] ) : Ext.Element 设置鼠标移入移出事件initDD( String group, Object config, Object overrides ) : Ext.dd.DD initDDProxy( String group, Object config, Object overrides ) :Ext.dd.DDProxyinitDDTarget( String group, Object config, Object overrides ) :Ext.dd.DDTarget这个要放到 Ext.dd去专门搞了,用于拖曳insertAfter( Mixed el ) : Ext.ElementinsertBefore( Mixed el ) : Ext.ElementinsertFirst( Mixed/Object el ) : Ext.Element在DOM中el元素之前之后...插入当前元素insertHtml( String where, String html, Boolean returnEl )插入html内容 where 可选beforeBegin, afterBegin, beforeEnd, afterEndinsertSibling( Mixed/Object/Array el, [String where], [Boolean returnDom] ) :插入或创建el做为当前元素的兄弟节点,where可选before/after,默认为beforeis( String selector ) : Boolean验证当前节点是否匹配简单选择器selectorisBorderBox()测试不同的样式规则以决定当前元素是否使用一个有边框的盒子isDisplayed() : Boolean只要不是指定display属性none都会返回真isMasked() : Boolean仅有当前元素有mask并且可见时为真,mask译为蒙片?就是有些输入框没得到值之前会有一行模糊的提示的那种东西isScrollable() : Boolean可以滚动?isVisible( [Boolean deep] ) : Boolean可见?last( [String selector], [Boolean returnDom] ) : Ext.Element/HTMLElement 见firstload( String/Function url, [String/Object params], [Function callback], [Boolean discardUrl] ) : Ext.Element直接应用当前updater的update方法mask( [String msg], [String msgCls] ) : Element为当前对象创建蒙片move( String direction, Number distance, [Boolean/Object animate] ) :Ext.Element相前元素相对于当前位置移动,direction批示方向可能的值是"l","left" - "r","right" - "t","top","up" - "b","bottom","down".distance,指示要移动的距离,以像素为单位moveTo( Number x, Number y, [Boolean/Object animate] ) : Ext.Element 称动到指定的位置next( [String selector], [Boolean returnDom] ) : Ext.Element/HTMLElement 下一个符合selector的兄弟节点,on( String eventName, Function fn, [Object scope], [Object options] ) : void详见addListenerposition( [String pos], [Number zIndex], [Number x], [Number y] ) : void 初始化当前元素的位置 pos可选择relative/absolute/fixedprev( [String selector], [Boolean returnDom] ) : Ext.Element/HTMLElement 前一个符合selector的兄弟节点query( String selector ) : Array通过样式选择器选择子节点radioClass( String/Array className ) : Ext.Element添加样式或样式数组到当前元素,并移除兄弟节点中的指定样式relayEvent( String eventName, Object object ) : void将当前元素的eventName事件同时转发给object对象remove() : void从当前DOM中删除元素,并从缓存中移除removeAllListeners() : Ext.Element移除所有的侦听者removeClass( String/Array className ) : Ext.Element移除样式类removeListener( String eventName, Function fn ) : Ext.Element移除事件eventName的fn侦听器repaint() : Ext.Element强制浏览器重绘当前元素replace( Mixed el ) : Ext.Element用当前元素替换elreplaceClass( String oldClassName, String newClassName ) : Ext.Element 替换样式类replaceWith( Mixed/Object el ) : Ext.Element用el替换当前元素scroll( String direction, Number distance, [Boolean/Object animate] ) : Boolean滚动,scroll会保证元素不会越界,direction和distance参数见movescrollIntoView( [Mixed container], [Boolean hscroll] ) : Ext.Element 滚动到container内的视图scrollTo( String side, Number value, [Boolean/Object animate] ) : Element 基本与scroll方法相同,但不保证元素不越界select( String selector, [Boolean unique] ) :与query不同的是,通过样式选择器selector,select方法会返回一个复合元素对象(CompositeElement)或CompositeElementLite,set( Object o, [Boolean useSet] ) : Ext.Element设置属性,例el.set({width:'200px',height:'200px'});setBottom( String bottom ) : Ext.ElementsetLeft( String left ) : Ext.ElementsetRight( String right ) : Ext.ElementsetTop( String top ) : Ext.ElementsetLeftTop( String left, String top ) : Ext.Element设置css 对象的属性值setBounds( Number x, Number y, Number width, Number height, [Boolean/Object animate] ) : Ext.Element马上改变当前元素的位置和尺寸setBox( Object box, [Boolean adjust], [Boolean/Object animate] ) : Ext.Element为当前元素设置一个盒子box:{x, y, width, height},adjust指示是否马上调整尺寸setDisplayed( Boolean value ) : Ext.Element设置可见性setHeight( Number height, [Boolean/Object animate] ) : Ext.Element setWidth( Number width, [Boolean/Object animate] ) : Ext.Element setSize( Number width, Number height, [Boolean/Object animate] ) : Ext.Element设置高度和宽度setLocation( Number x, Number y, [Boolean/Object animate] ) : Ext.Element 设置当前元素相对于页面的横纵坐标setOpacity( Float opacity, [Boolean/Object animate] ) : Ext.Element 设置透明度,opacity为1完全不透明,0完全透明setPositioning( Object posCfg ) : Ext.Element为当前元素指定位置信息,参数posCfg参见getPositioning说明setRegion( Ext.lib.Region region, [Boolean/Object animate] ) :Ext.Element为当前元素指定区域信息 region定义见getRegionsetStyle( String/Object property, [String value] ) : Ext.Element设置样式setVisibilityMode( visMode Element.VISIBILITY ) : Ext.Element指示是使用Element.VISIBILITY还是Element.DISPLAY属性来定义可见性setVisible( Boolean visible, [Boolean/Object animate] ) : Ext.Element 设置可见性setX( Number The, [Boolean/Object animate] ) : Ext.ElementsetXY( Array pos, [Boolean/Object animate] ) : Ext.ElementsetY( Number The, [Boolean/Object animate] ) : Ext.Element设置当前元素相对于page的位置show( [Boolean/Object animate] ) : Ext.Element显示当前元素swallowEvent( String eventName, [Boolean preventDefault] ) : Ext.Element 阻止eventName事件冒泡,并视preventDefault阻断默认行为toggle( [Boolean/Object animate] ) : Ext.Element切换元素的visibility 或display属性,依赖于setVisibilityMode设定的toggleClass( String className ) : Ext.Element如果样式名存在于当前元素对应的dom 节点,移除,反之应用translatePoints( Number/Array x, Number y ) : Object返回一个{left,top}结构un( String eventName, Function fn ) : Ext.Element解除事件侦听,参见 removeListenerunclip() : Ext.Element见clip;unmask() : void见mask;unselectable(): Ext.Element禁止文本选择up( String selector, [Number/Mixed maxDepth] ) : Ext.Element通过样式选择器selector选择祖先节点update( String html, [Boolean loadScripts], Function callback ) : Ext.Element利用html更新当前节点内容,loadScripts指示html中如果有script,是否需要运行,这是一个innerHTML的一个老老老问题了wrap( [Object config], [Boolean returnDom] ) : HTMLElement/Element 用另一个元素config包含自己EXT核心API详解(四)-Ext.DomQuery/DomHelper/TemplateExt.DomQuery类selector语法详见Ext类compile( String selector, [String type] ) : Function编写一个选择器或xpath查询到一个方法以方便重用,type取select(默认)或simple值之一filter( Array el, String selector, Boolean nonMatches ) : Array过滤el中的元素,保留符合selector的,如果nonMatches为真,结果相反is( String/HTMLElement/Array el, String selector ) : Boolean验证el是否匹配selectorselect( String selector, [Node root] ) : Array从root中选择匹配selector的对象数组selectNode( String selector, [Node root] ) : Element返回root中第一个匹配selector的对象selectNumber( String selector, [Node root], Number defaultValue ) : Number返回root中第一个匹配selector的对象的节点值,转换为整数或浮点数selectValue( String selector, [Node root], String defaultValue ) : void 返回root中第一个匹配selector的对象的节点值,如果为null,用默认值defaultValue代替Ext.DomHelper类append( Mixed el, Object/String o, [Boolean returnElement] ) : HTMLElement/Ext.Element创建一个新的DOM元素并添加到el参数 o 是一个DOM对象或一个原始html块applyStyles( String/HTMLElement el, String/Object/Function styles ) : void应用样式styles到对象el,样式的对象表示方法见Ext.ElementcreateTemplate( Object o ) : Ext.Template由o创建一个新的Ext.Template对象,详见 Ext.TemplateinsertAfter( Mixed el, Object o, [Boolean returnElement] ) : HTMLElement/Ext.ElementinsertBefore( Mixed el, Object/String o, [Boolean returnElement] ) : HTMLElement/Ext.Element创建一个新的DOM对象o并将他们挺入在el之后/之前insertFirst( Mixed el, Object/String o, [Boolean returnElement] ) : 创建一个新的DOM元素并做为第一个子节点添加到el (看了这个insertFirst,建议将append取一个别名insertLast:))insertHtml( String where, HTMLElement el, String html ) : HTMLElement where 可选值beforeBegin/afterBegin/beforeEnd/afterEnd将html代码插入到el附近,markup( Object o ) : String返回DOM对象o对应的html代码overwrite( Mixed el, Object/String o, [Boolean returnElement] ) :创建一个新的DOM元素o并用它重写el的内容Ext.Template类Template类主要是功能是生产html片断,例var t = new Ext.Template('<div name="{id}">','<span class="{cls}">{name:trim} {value:ellipsis(10)}</span>', '</div>');t.append('some-element', {id: 'myid', cls: 'myclass', name: 'foo', value: 'bar'});公用方法:Template( String/Array html )构造一个Ext.Template对象,参数可以是字符串形式的html代码或它们组成的数组,Template.from( String/HTMLElement el, Object config ) : Ext.Template 能过el的value(优先)或innerHTML来构造模板append( Mixed el, Object values, [Boolean returnElement] ) : HTMLElement/Ext.ElementinsertAfter( Mixed el, Object values, [Boolean returnElement] ) : HTMLElement/Ext.ElementinsertBefore( Mixed el, Object values, [Boolean returnElement] ) : HTMLElement/Ext.ElementinsertFirst( Mixed el, Object values, [Boolean returnElement] ) : HTMLElement/Ext.Element这组方法提供由 value产生的html 代码,并添加到dom 做为el的最后一个子节点/下一个兄弟节点/前一个兄弟节点/第一个子节点values解释参见applyTemplateapply() : voidapplyTemplate( Object values ) : Stringapply是applyTemplate的简写,如果参数是数字values可以是一个数组,或者一个象 {id: 'myid', cls: 'myclass', name: 'foo', value: 'bar'}这样的json对象compile() : Ext.Template编译模板,替换掉模板中的\=>\\ ,\r\n|\n==>\\n, '=\',主要是为了js自己处理方便overwrite( Mixed el, Object values, [Boolean returnElement] ) :利用values生成html替换el的内容set( String html, [Boolean compile] ) : Ext.Template设置模板的html,如果compile为真将调用compile方法EXT核心API详解(五)-Ext.EventManager/EventObject/CompositeElement/CompositeElementLiteExt.EventManager事件管理者中的大部分方法都在Ext中有定义,主要用于事件管理addListener( String/HTMLElement el, String eventName, Function handler, on( String/HTMLElement el, String eventName, Function handler, [Object scope], [Object options] ) : voidonDocumentReady( Function fn, [Object scope], [boolean options] ) : void removeListener( String/HTMLElement el, String eventName, Function fn ) : un( String/HTMLElement el, String eventName, Function fn ) : Boolean 参见ExtonWindowResize( Function fn, Object scope, boolean options ) : void 窗口大小变更时触发onTextResize( Function fn, Object scope, boolean options ) : void活动文本尺寸变更时触发Ext.EventObject这两个类都定义在EventManager.js中,分开是为了逻辑上更清晰吧,这个类主要用于描述事件本身,一般用做事件处理方法的参数另外这个害定义了一些键值常量,比ascii码好记。

EXT学习文档

EXT学习文档

EXT学习文档ext-1.1部分原创/部分整理第一章 EXT入门1.1 Ext简介Ext在最开始的时候,是作为YUI的一个扩展存在的,所以那个时候它的名称是YUI.Ext,后来,Ext作为一个独立的项目进行开发,并不再依赖于YUI。

适合企业级开发,能实现复杂的Layout布局,界面效果可以和backbase媲美,而且使用纯javascript代码开发。

真正的可编辑的表格Edit Grid,支持XML和Json数据类型,直接可以迁入grid,有完整地说明文档。

1.2 下载Ext如果你未曾下载过,那应从这里下载最新版本的Ext /downloads。

针对你的下载需求,有几个不同的版本。

通常地,最稳定的版本,是较多人的选择。

最新的版本是Ext2.0,本教程使用ext-1.1版本。

下载解包后,我们可以查阅ext目录下的docs中的文档配合example下是些实例文件进行学习。

在EXT目录中,package目录是ext所有类库文件,在ext-all.js文件中已经包含了该目录下所有的类。

因此我们开发中只需要导入ext-all.js文件即可。

Resources目录下有Ext所需要的图片文件和CSS样式文件。

对于样式文件我们只用到ext-all.css一个文件即可,它包含了所有Ext中样式的定义。

在样式文件夹中还有三个Ext主题样式文细讲到。

1.3 第一个例子我们开始第一个例子,可以帮助你了解Ext的开发。

(1)首先我们建立项目目录,如C:\example1。

(2)在example1目录下建立js和css两个目录,用于存放JS文件和CSS样式文件。

(3)为了节省空间我们只把需要的文件拷贝到项目中:将EXT目录中resources\css\目录下的ext-all.css、xtheme-aero.css、xtheme-gray.css、xtheme-vista.css 文件拷贝到项目中CSS目录下。

将EXT目录中ext-all.js文件和adapter\ext\ext-base.js文件拷贝到项目中JS目录下。

ext教程

ext教程

ext教程EXT(JavaScript Extensions)是一种用于制作浏览器扩展的标准,它允许开发者以交互式方式修改和自定义Web页面的行为和外观。

在本教程中,我们将介绍如何使用EXT来开发浏览器扩展。

我们将涵盖EXT的基本概念、开发环境的设置、常用API的使用以及实例应用的创建。

首先,我们需要了解EXT的基本概念。

EXT是基于JavaScript 和HTML的,它允许我们通过注入代码来修改Web页面的行为。

我们可以使用EXT来添加自定义按钮、修改页面样式、拦截网络请求等。

为了开始开发EXT扩展,我们需要设置开发环境。

首先,我们需要安装一个支持EXT的浏览器,如Google Chrome或Mozilla Firefox。

然后,我们需要安装开发者工具,如Chrome开发者工具或Firefox开发者工具。

接下来,我们将介绍EXT的常用API。

EXT提供了一组API,用于访问和修改Web页面的各个部分。

例如,我们可以使用API来找到页面上的特定元素,修改其样式或内容。

我们还可以使用API来发送网络请求或拦截已有的请求。

最后,我们将创建一个实例应用来演示EXT的使用。

我们将开发一个简单的扩展,用于在Facebook页面上添加一个自定义按钮。

当用户点击按钮时,它会向后台服务器发送一个请求,并显示返回的数据。

在这个实例应用中,我们将演示如何创建一个扩展程序,并在Manifest文件中指定其基本属性。

我们还将展示如何使用Content Script来注入我们的代码到页面中,并使用Popup来创建一个显示在浏览器窗口中的弹出窗口。

通过这个教程,您将学习到EXT的基本概念、开发环境的设置、常用API的使用以及实例应用的创建。

您将了解如何使用EXT来修改和自定义Web页面的行为和外观。

这将对您开发具有定制功能的浏览器扩展非常有帮助。

总结来说,EXT是一种用于制作浏览器扩展的标准,它允许开发者以交互式方式修改和自定义Web页面的行为和外观。

2024版pb教程入门到精通x

2024版pb教程入门到精通x

03PowerBuilder (PB )是一种高效能的应用程序开发工具,用于构建企业级的数据库应用。

PB 概述从官方网站下载安装包,按照安装向导逐步完成安装过程,包括同意许可协议、选择安装路径、配置组件等。

安装步骤支持Windows 操作系统,需要安装相应的数据库客户端或服务器。

环境要求pb 概述与安装界面布局PB的集成开发环境(IDE)包括菜单栏、工具栏、代码编辑器、对象浏览器等部分,方便开发者进行各种操作。

编码风格PB支持多种编程风格,如事件驱动、面向对象等,可根据项目需求选择合适的风格。

调试工具PB提供了强大的调试工具,包括断点设置、单步执行、变量监视等功能,帮助开发者快速定位并解决问题。

编程环境介绍01基本语法PB的语法基于Pascal语言,包括赋值语句、条件语句、循环语句等,易于学习和掌握。

02数据类型PB支持多种数据类型,如整型、浮点型、字符型、日期型等,满足不同类型数据的处理需求。

03数据类型转换PB提供了丰富的数据类型转换函数,方便开发者在不同数据类型之间进行转换。

基本语法与数据类型变量、常量与运算符变量PB中的变量用于存储程序运行过程中的临时数据,可根据作用域和生命周期进行分类。

常量常量是在程序运行过程中保持不变的量,可用于定义程序中的固定值。

运算符PB支持多种运算符,包括算术运算符、比较运算符、逻辑运算符等,用于实现各种复杂的计算和控制逻辑。

掌握`If...Then...Else`语句,实现基于条件的程序流程控制。

条件语句熟悉`For`、`While`等循环语句,实现重复执行某段代码的功能。

循环语句了解`Select Case`语句,根据不同情况执行不同代码块。

选择性语句学会使用`Exit`语句退出循环或程序,以及`End`语句结束程序。

退出与结束控制结构掌握如何定义函数,包括函数名、参数列表和返回值类型等。

函数定义明确过程与函数的区别,过程不返回值,而函数可以返回值。

过程与函数区别了解如何在程序中调用函数,传递参数并接收返回值。

ext用法简介

ext用法简介

component ponent 组件
container Ext.Container 容器
cycle
Ext.CycleButton
dataview Ext.DataView 数据显示视图
datepicker Ext.DatePicker 日期选择面板
editor
Ext.Editor 编辑器
图例:
Ext.MessageBox.prompt();//输入框
Ext.MessageBox.prompt(‘姓名’, 输入姓名:‘, function(btn,text){if(btn==‘yes’){alert(text););
图例:
弹出框 Ext.MessageBox(二)
Ext.MessageBox.show();//显示框
radio
Ext.form.Radio 单选按钮
textarea Ext.form.TextArea 区域文本框
textfield Ext.form.TextField 表单文本框
timefield Ext.form.TimeField 时间录入项
trigger Ext.form.TriggerField 触发录入项
欢迎学习EXT,首先介绍下什么是EXT。 EXT由JAVASCRIPT开发而来的一种UI组件,主要 是运用WEB2.0思想,运用CSS达到对DIV的控制, 使用户有良好的体验。在EXT中,有大量的AJAX运 用,而且在EXT中,所有的方法和类都是跨浏览器 的,兼容性很好。
由于EXT是由JAVASCRIPT开发的,所以可以运行 在所有现有的WEB技术上,比如HTML,JSP,ASP,PHP…
组件分类
• 基本组件:一些基本的,常用的,功能型组件 • 工具栏组件:主要是工具栏依靠的组件 • 表单及元素组件:用于用户输入的组件

EXT详解

EXT详解

EXT 中文手册前言本手册所有内容均粘贴自互联网,如有错误,请多见谅。

目录EXT 中文手册 (1)EXT简介 (4)目錄 (4)下载Ext (5)开始! (5)Element:Ext的核心 (5)获取多个DOM的节点 (6)响应事件 (6)使用Widgets (8)使用Ajax (10)EXT源码概述 (12)揭示源代码 (12)发布Ext源码时的一些细节 (13)我应该从哪里开始? (14)适配器Adapters (14)核心Core (14)Javascript中的作用域(scope) (14)事前准备 (14)定义 (14)正式开始 (15)window对象 (15)理解作用域 (16)变量的可见度 (16)EXT程序规划入门 (17)事前准备 (17)需要些什么? (17)applayout.html (17)applayout.js (18)公开Public、私有Private、特权的Privileged? (20)重写公共变量 (22)重写(Overriding)公共函数 (22)DomQuery基础 (23)DomQuery基础 (23)扩展EXT组件 (30)文件的创建 (30)Let's go (34)完成 (36)EXT的布局(Layout) (38)简单的例子 (39)加入内容 (42)开始使用Grid (52)步骤一定义数据(Data Definition) (52)步骤二列模型(Column Model) (53)Grid组件的简易分页 (54)G r i d数据 (54)怎么做一个分页的G r i d (55)分页栏T o o l b a r (55)EXT Menu组件 (56)创建简易菜单 (56)各种I t e m的类型 (58)I t e m属性 (58)在U I中摆放菜单 (58)M e n u的分配方式: (59)练一练 (61)动态添加菜单按钮到T o o l b a r (61)更方便的是 (62)下一步是 (62)模板(Templates)起步 (62)第一步您的HTML模板 (62)第二步,将数据加入到模板中 (63)下一步 (63)学习利用模板(Templates)的格式化功能 (63)正式开始 (63)下一步 (65)事件处理 (65)非常基础的例子 (65)处理函数的作用域 (65)传递参数 (66)类设计 (66)对象创建 (66)使用构造器函数 (67)方法共享 (67)表单组件入门 (68)表单体 (68)创建表单字段 (68)完成表单 (69)下一步 (70)为一个表单填充或提交数据 (70)让我们开始吧 (70)读取我们的数据 (71)EXT中的继承 (72)补充资料 (73)Ext 2 概述 (73)组件模型Component Model (75)容器模型Container Model (79)布局Layouts (80)Grid (83)XTemplate (83)DataView (84)其它新组件 (84)EXT2简介 (85)下载Ext (85)开始! (86)Element:Ext的核心 (86)获取多个DOM的节点 (87)响应事件 (87)使用Widgets (89)編輯使用Ajax (92)TabPanel基础 (95)Step 1: 创建HTML 骨架 (95)Step 2: Ext结构的构建 (96)Step 3: 创建Tab控制逻辑 (98)EXT简介无论你是Ext库的新手,抑或是想了解Ext的人,本篇文章的内容都适合你。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

快速入门(图文版)
视频资料更详细--> /SWF/
1.开发工具要求:
VS2010
PB 11.5(作为快速入门不用装补丁也能正常运行,比如我就是安装的11.5 Build 2506,我想ExtPB作为最终使用的时候本身的下载包就已经包括了最终的PB相关DLL,所以我们自己电脑上的PB 开发环境要求不是那么严格?不知道是不是)
MS SQL SERVER 2005或MS SQL SERVER 2008。

2. 下载 SDK 和Demo程序
/Sdk/
下载解压缩以后会有如下文件:
2.1安装VS2010插件程序
进入到上图所示""目录,然后运行"ExtPB_Net_Extension.msi",安装以后VS2010添加新项会有专有模板,如下图所示:
2.2安装浏览器插件,进入到“客户端插件”目录,双击以下图标
3.启动VS2010,新建一个“ WEB应用程序”注意一定要选择Visual C#和.NET Framework 4,如下图:
然后添加引用,如下图所示:
将以下四个文件分别添加进来:(目录名根据你下载的版本和解压缩的目录会有所区别)
四个文件加完以后,再看“引用”会变如下图所示:
4.将ExtPB例子模板中带的几个目录和文件复制到刚才的项目中:
复制Scripts脚本:
进入到ExtPB的DEMO目录下面的Scripts目录,将其中的所有文件复制后粘贴到我们自己的项目中
5. 用vs2010打开下载的ExtPB例子(比如我的电脑是放在
D:\ExtPB_Net_SqlServer_115\Demo\ExtPB.Demo.sln),打开demo中的Web.Confirg, 复制以下两段内容,做相应的修改(下图可以放大看清楚)(只用改第一段ConnectionStrings)
6.在Windows“服务”中启动状态服务,另外要确保42424端口号没有被防火墙禁止。

(不清楚的请见视频有详细描述)
7.在web项目中新建一个文件夹用于保存PB相关项目.
将名称改为PBL(这个名称可以任意,但为了本文讲述方便,统一为PBL)
8. 用PB11.5(或者pb12.5)视你下载的 sdk而定)中新建一个项目,将项目保存在刚才的web项目下面PBL目录中,并建一个Datawindow(此过程省略,应该都会)。

定位这个PBL目录的方法:
建好以后可以通过以下方法也能看到:
9. 修改ExtPB.config
10.修改DBHelp.cs命名空间和数据库连接配置,修改AppService.cs, BaseWindow_Permission.cs, BasePage.cs, BaseWindow.cs命名空间:
BaseWindow_Permission.cs, BasePage.cs, BaseWindow.cs 照上图同样修改,这里不再附图。

11. 在本项目中添加一个 Windows
然后从左边的面板拖一个toolbar和Datawindow,并将datawindow设置为填满屏幕以及设置好相关的Dataobject
如果需要给Toolbar 增加图标可以在toolbar 上点击鼠标右键,以及可以将一些图片复制到Images 目录下,可以通过ExtPB.config 来指定图片存放路径(这里省略如何给toolbar 增加图标和文字的步骤,视频教学中中已经讲的很清楚)
12.增加一个Web窗体
然后设为起始页:
运行,可以浏览器看到如下效果,COOL!
详细视频教学见:
/SWF/。

相关文档
最新文档