内容简介:
本书从ExtJS中最基本的概念开始,例如DOM操作、面向对象、Component/Container模型的生命周期、组件管理等,并介绍如何使用项目开发中最常使用的各种组件,例如
Panel、FormPanel、GridPanel等,其中介绍了在ExtJS 3与ExtJS 4中,数据存储模型如何指派给不同的组件使用,进而达到截然不同的数据交互方式。例如,EditorGridPanel与GridPanel虽然可以共享一个Store对象,但两者在数据交互上的设计取决于用户该如何与之交互。
最后,本书提供两个实际的开发案例,简化过之后作为实战案例供读者参考,其中展示了
ExtJS应如何与后端框架CakePHP结合。
基本信息
书名: ExtJS开发实战
作者: 钟协良
ISBN: 978-7-302-28332-4
定价: 88.00元
出版日期: 2012.4
图书分类: JAVA语言—程序设计
l 说明DOM操作、面向对象、Component及Container等基础知识
l 结合PHP框架与后端服务器,学习如何通过Ajax交换数据
l 针对版面布局、各类组件、菜单与工具列等,以范例说明各种设定
l 针对4.0版本,解说全新的元素、数据存储模型与图表支持
l 以记账系统及人人网应用程序为实际案例,专章解说开发流程
钟协良
国立台湾师范大学工业教育系毕业,曾任职于高等教育中心、教育部电子计算中心,负责全国型系统设计与实现。擅长JavaEE、CakePHP、Codelgniter等框架的应用,以及ExtJS、jQuery与ActionScript,醉心于Java与Flex相关应用研究,并已获得SCJP、SCWCD及SCBCD等证书。现任职于内湖安德网络行销公司,负责开发团购网站、Facebook App及其他有趣的社区相关应用程序。
目录
第1 章 入门 1
1.1何谓ExtJS 2
1.2CakePHP 5
1.3部署开发环境 5
1.3.1部署服务器 6
1.3.2部署CakePHP 6
1.3.3部署ExtJS 10
1.4开发工具 10
1.5调试与性能评估工具 10
1.5.1FireBug 插件 10
1.5.2Chrome的JavaScript控制台 12
1.5.3性能评估与数据监控 12
1.6小结 14
第Ⅰ部分 基础架构
第2 章 ExtJS 101 17
2.1JavaScript的面向对象 18
2.1.1创建类 18
2.1.2定义类方法与类属性 21
2.1.3类的继承 22
2.1.4ExtJS在面向对象方面的支持 26
2.1.5实战练习:预配置类 33
2.2浏览器对象模型:BOM 35
2.2.1命名空间 36
2.2.2用户代理对象 38
2.2.3历史记录对象 40
2.2.4DOM文件对象document 46
2.2.5Cookie 47
2.2.6定时调用函数 48
目 录
X
ExtJS开发实战
第3 章 DOM与Event 53
3.1ExtJS对DOM的支持 54
3.1.1创建Element实例 55
3.1.2通过Element创建DOM节点 64
3.1.3读取/更新DOM节点及属性 72
3.1.4DomHelper与Template、XTemplate 85
3.2ExtJS对事件的支持 99
3.2.1一切的开始——Ext.ready()100
3.2.2注册/移除事件处理程序 100
3.2.3Ext.EventManager 102
3.2.4阻止事件的进行与默认行为 103
3.2.5Ext.util.Observable与自定义事件 104
3.3实战练习:画布应用 110
第4 章 好用的PHP框架——CakePHP 119
4.1CakePHP的设计结构 120
4.2自动化开发 122
4.3CakePHP基础 130
4.3.1CakePHP的配置文件core.php130
4.3.2CakePHP的基础模板default.ctp132
4.3.3模型 139
4.3.4控制器 141
4.3.5视图与视图助手 146
4.4实战练习:登录窗体 148
4.4.1制作模型 149
4.4.2编写控制器 155
4.4.3编写页面视图 159
4.4.4更改默认控制器 160
4.4.5URL前缀的应用 162
4.4.6使用Cake 2.*版本? 不,谢谢 163
4.4.7下一步 164
XI
目 录
第5 章 Ajax与数据驱动 165
5.1Ext.Ajax与Ext.data.Connection166
5.2存储对象 179
5.2.1Ext.data.Store 181
5.2.2读取远程数据 187
5.3实战练习:表格组件 195
第6 章 Component结构 199
6.1Component模型 200
6.2常用组件 208
6.2.1ColorPalette 调色板 208
6.2.2Button按钮 209
6.2.3SplitButton按钮 211
6.2.4BaseItem基础选项 212
6.2.5DatePicker日期选择面板 213
6.3xtype神秘类型 214
6.4实战练习:自定义组件 218
第7 章 Container结构 223
7.1Container容器 224
7.2Panel容器 227
7.2.1添加子组件/容器 229
7.2.2移动子组件/容器 231
7.2.3查找子组件/容器 234
7.2.4删除子组件/容器 238
7.2.5顶层组件栏(tbar)与底层组件栏(bbar) 239
7.2.6可折叠的Panel 240
7.2.7嵌套Panel 241
7.3Viewport容器 244
7.4Window容器 246
7.5ButtonGroup容器 250
7.6Button类似容器的用法 253
7.7实战练习:更实用的Window类 254
XII
ExtJS开发实战
第Ⅱ部分 视图组件
第8 章 页面布局 261
8.1一切都从ContainerLayout开始 262
8.2可让组件大小随容器改变的AnchorLayout263
8.3可随意摆放组件的AbsoluteLayout265
8.4填满容器的FitLayout268
8.5如手风琴般的AccordionLayout269
8.6将组件以扑克牌方式摆放的CardLayout271
8.7表单布局FormLayout273
8.8边界布局BorderLayout274
8.9水平布局HBoxLayout与垂直布局VBoxLayout 276
8.10列布局ColumnLayout276
8.11表格布局TableLayout278
8.12混合布局 279
8.13实战练习:自定义布局 282
第9 章 表单组件 287
9.1表单容器FormPanel与一般容器Panel的差异 288
9.2文本字段 291
9.2.1密码字段 294
9.2.2文件上传字段 294
9.2.3文本块 295
9.2.4数字字段 296
9.2.5字段验证 297
9.2.6隐藏字段 298
9.3下拉菜单与自动完成 299
9.3.1使用本地数据 299
9.3.2远程数据与下拉菜单 303
9.3.3远程数据与自动完成 307
9.3.4联动下拉菜单 308
9.4WYSIWYG文本编辑器 310
9.5日期字段 311
9.6复选组件与单选组件 312
XIII
目 录
9.7提交/读取数据 313
9.8字段提示QuickTips与QuickTip317
9.9美化表单 320
9.9.1使用BoxComponent为表单添加自定义HTML内容 320
9.9.2使用FieldSet集合特定字段 321
9.10实战练习:登录表单 322
第10 章 表格组件 329
10.1GridPanel是如何组成的 330
10.2创建GridPanel与数据排序 331
10.3使用PagingToolbar进行分页 336
10.4GirdPanel与查询 339
10.5自定义绘图器 342
10.6通过SelectionModel与GridPanel交互 345
10.7实战练习:DTable 348
第11 章 可编辑表格组件 355
11.1创建EditorGridPanel356
11.2更换字段编辑器与数据交互 358
11.2.1更换字段编辑器 358
11.2.2添加与删除记录 360
11.3使用RowEditor 363
11.4数据的提交与回滚 365
11.4.1commitChanges()与rejectChanges()365
11.4.2同步服务器数据 367
11.5使用DataWriter 370
11.6实战练习:ETable 373
第12 章 DataView与ListView 381
12.1DataView 382
12.1.1创建数据显示样式 382
12.1.2创建Store与XTemplate 383
12.1.3创建DataView 385
12.1.4让DataView可分页 386
XIV
ExtJS开发实战
12.2ListView 387
12.3属性设置表PropertyGrid389
12.4实战练习:数据读取 392
第13 章 图表组件 401
13.1图表底层的秘密 402
13.2折线图:LineChart405
13.2.1绘制折线图 405
13.2.2修改提示信息 406
13.2.3添加水平/垂直轴的标题 408
13.2.4修改图表风格 409
13.2.5添加多个序列 411
13.3柱形图:ColumnChart与StackedColumnChart 413
13.4条形图:BarChart与StackedBarChart 415
13.5圆饼图:PieChart 417
13.6实战练习:图表应用 419
第14 章 树状组件 425
14.1使用静态数据创建TreePanel426
14.2读取服务器数据 428
14.3操作节点 432
14.3.1添加节点 432
14.3.2删除节点 438
14.3.3编辑节点 441
14.3.4查询节点 442
14.3.5排序节点 443
14.4ColumnTree 444
14.5实战练习:TreeEditor447
第15 章 菜单与工具栏 453
15.1创建菜单 454
15.1.1菜单101 454
15.1.2菜单事件 456
15.1.3加入Separator与TextItem457
XV
目 录
15.1.4ColorMenu与DataMenu 459
15.1.5添加复选框 460
15.1.6添加单选按钮 462
15.2使用上下文菜单 463
15.3创建工具栏 465
15.4实战练习:复杂的菜单与工具栏组合467
第16 章 拖放——Drag与Drop 473
16.1拖放的基础知识 474
16.2拖放操作的实现 476
16.2.1注册DOM元素为DD 477
16.2.2使用DDTarget注册放置目标 478
16.2.3使用DDProxy 484
16.3实战练习:将拖放与组件结合487
16.3.1DataView与拖放 487
16.3.2TreePanel与拖放 493
第17 章 插件 495
17.1继承的限制 496
17.2插件的实现 499
第18 章 长路漫漫——ExtJS 4 503
18.1类系统 504
18.1.1定义类的新方式 504
18.1.2动态读取类定义与依赖性管理508
18.1.3混合属性 513
18.1.4静态方法 515
18.1.5自动生成变量的getter/setter方法 516
18.2Data 封包 517
18.2.1Model 517
18.2.2Proxy与Store 523
18.3Panel、FormPanel、GridPanel与Window 537
18.3.1Panel组件 537
18.3.2FormPanel组件 539
XVI
ExtJS开发实战
18.3.3GridPanel组件 541
18.3.4Window组件 543
18.4图表组件 545
18.4.1Area图表 545
18.4.2Bar图表 548
18.4.3Radar图表 551
18.4.4Pie图表 552
ExtJS4后记 554
第Ⅲ部分 实战案例
第19 章 案例——记账系统 557
19.1系统需求分析 558
19.2系统规划 558
19.2.1界面规划 558
19.2.2后台服务器部署 560
19.3系统实现 561
19.3.1实现CakePHP端 562
19.3.2实现ExtJS界面 578
19.4与CakePHP结合 611
第20 章 案例——人人网应用程序 615
20.1系统功能分析 616
20.2系统部署 618
20.3封装Google MapsAPI的类GMap 621
20.4组合界面组件 629
20.4.1定义GeoMapPanel629
20.4.2定义FunctionMenu630
20.4.3定义GeoRecordGridPanel632
20.4.4定义MainPanel 636
附 录学习与