标题：ExtJS开发实战
基本信息
作者： 钟协良    [作译者介绍]  [1]
出版社：清华大学出版社 
ISBN：9787302283324
上架时间：2012-5-4
出版日期：2012 年4月
开本：16开
页码：647
版次：1-1
所属分类： 计算机 > 软件与程序设计 > 网络编程 > javascript
编辑推荐
说明DOM操作、面向对象、Component及Container等基础知识
结合PHP框架与后端服务器，学习如何通过Ajax交换数据
针对版面布局、各类组件、菜单与工具列等，以范例说明各种设定
针对4.0版本，解说全新的元素、数据存储模型与图表支持
以记账系统及人人网应用程序为实际案例，专章解说开发流程
内容简介
计算机书籍
《extjs开发实战》从extjs中最基本的概念开始，例如dom操作、面向对象、component/container模型的生命周期、组件管理等，并介绍如何使用项目开发中最常使用的各种组件，例如
panel、formpanel、gridpanel等，其中介绍了在extjs 3与extjs 4中，数据存储模型如何指派给不同的组件使用，进而达到截然不同的数据交互方式。例如，editorgridpanel与gridpanel虽然可以共享一个store对象，但两者在数据交互上的设计取决于用户该如何与之交互。
最后，《extjs开发实战》提供两个实际的开发案例，简化过之后作为实战案例供读者参考，其中展示了extjs应如何与后端框架cakephp结合。 
作译者
钟协良
国立台湾师范大学工业教育系毕业，曾任职于高等教育中心、教育部电子计算中心，负责全国型系统设计与实现。擅长JavaEE、CakePHP、Codelgniter等框架的应用，以及ExtJS、jQuery与ActionScript，醉心于Java与Flex相关应用研究，并已获得SCJP、SCWCD及SCBCD等证书。现任职于内湖安德网络行销公司，负责开发团购网站、Facebook App及其他有趣的社区相关应用程序。
..
目录
《extjs开发实战》 
第 1 章 入门 1 
1.1 何谓extjs 2 
1.2 cakephp 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.1 firebug 插件 10 
1.5.2 chrome的javascript控制台 12 
1.5.3 性能评估与数据监控 12 
1.6 小结 14 
第Ⅰ部分 基础架构 
第 2 章 extjs 101 17 
2.1 javascript的面向对象 18 
2.1.1 创建类 18 
2.1.2 定义类方法与类属性 21 
2.1.3 类的继承 22 
.2.1.4 extjs在面向对象方面的支持 26 
2.1.5 实战练习：预配置类 33 
2.2 浏览器对象模型：bom 35 
2.2.1 命名空间 36 
2.2.2 用户代理对象 38 
2.2.3 历史记录对象 40 
2.2.4 dom文件对象document 46 
2.2.5 cookie 47 
2.2.6 定时调用函数 48 
extjs 开发实战 
第 3 章 dom与event 53 
3.1 extjs对dom的支持 54 
3.1.1 创建element实例 55 
3.1.2 通过element创建dom节点 64 
3.1.3 读取/更新dom节点及属性 72 
3.1.4 domhelper与template、xtemplate 85 
3.2 extjs对事件的支持 99 
3.2.1 一切的开始——ext.ready() 100 
3.2.2 注册/移除事件处理程序 100 
3.2.3 ext.eventmanager 102 
3.2.4 阻止事件的进行与默认行为 103 
3.2.5 ext.util.observable与自定义事件 104 
3.3 实战练习：画布应用 110 
第 4 章 好用的php框架——cakephp 119 
4.1 cakephp的设计结构 120 
4.2 自动化开发 122 
4.3 cakephp基础 130 
4.3.1 cakephp的配置文件core.php 130 
4.3.2 cakephp的基础模板default.ctp 132 
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.5 url前缀的应用 162 
4.4.6 使用cake 2.*版本? 不，谢谢 163 
4.4.7 下一步 164 
第 5 章 ajax与数据驱动 165 
5.1 ext.ajax与ext.data.connection 166 
5.2 存储对象 179 
5.2.1 ext.data.store 181 
5.2.2 读取远程数据 187 
5.3 实战练习：表格组件 195 
第 6 章 component结构 199 
6.1 component模型 200 
6.2 常用组件 208 
6.2.1 colorpalette 调色板 208 
6.2.2 button按钮 209 
6.2.3 splitbutton按钮 211 
6.2.4 baseitem基础选项 212 
6.2.5 datepicker日期选择面板 213 
6.3 xtype神秘类型 214 
6.4 实战练习：自定义组件 218 
第 7 章 container结构 223 
7.1 container容器 224 
7.2 panel容器 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.3 viewport容器 244 
7.4 window容器 246 
7.5 buttongroup容器 250 
7.6 button类似容器的用法 253 
7.7 实战练习：更实用的window类 254 
extjs 开发实战 
第Ⅱ部分 视图组件 
第 8 章 页面布局 261 
8.1 一切都从containerlayout开始 262 
8.2 可让组件大小随容器改变的anchorlayout 263 
8.3 可随意摆放组件的absolutelayout 265 
8.4 填满容器的fitlayout 268 
8.5 如手风琴般的accordionlayout 269 
8.6 将组件以扑克牌方式摆放的cardlayout 271 
8.7 表单布局formlayout 273 
8.8 边界布局borderlayout 274 
8.9 水平布局hboxlayout与垂直布局vboxlayout 276 
8.10 列布局columnlayout 276 
8.11 表格布局tablelayout 278 
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.4 wysiwyg文本编辑器 310 
9.5 日期字段 311 
9.6 复选组件与单选组件 312 
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.1 gridpanel是如何组成的 330 
10.2 创建gridpanel与数据排序 331 
10.3 使用pagingtoolbar进行分页 336 
10.4 girdpanel与查询 339 
10.5 自定义绘图器 342 
10.6 通过selectionmodel与gridpanel交互 345 
10.7 实战练习：dtable 348 
第 11 章 可编辑表格组件 355 
11.1 创建editorgridpanel 356 
11.2 更换字段编辑器与数据交互 358 
11.2.1 更换字段编辑器 358 
11.2.2 添加与删除记录 360 
11.3 使用roweditor 363 
11.4 数据的提交与回滚 365 
11.4.1 commitchanges()与rejectchanges() 365 
11.4.2 同步服务器数据 367 
11.5 使用datawriter 370 
11.6 实战练习：etable 373 
第 12 章 dataview与listview 381 
12.1 dataview 382 
12.1.1 创建数据显示样式 382 
12.1.2 创建store与xtemplate 383 
12.1.3 创建dataview 385 
12.1.4 让dataview可分页 386 
extjs 开发实战 
12.2 listview 387 
12.3 属性设置表propertygrid 389 
12.4 实战练习：数据读取 392 
第 13 章 图表组件 401 
13.1 图表底层的秘密 402 
13.2 折线图：linechart 405 
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 使用静态数据创建treepanel 426 
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.4 columntree 444 
14.5 实战练习：treeeditor 447 
第 15 章 菜单与工具栏 453 
15.1 创建菜单 454 
15.1.1 菜单101 454 
15.1.2 菜单事件 456 
15.1.3 加入separator与textitem457 
15.1.4 colormenu与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.1 dataview与拖放 487 
16.3.2 treepanel与拖放 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.2 data 封包 517 
18.2.1 model 517 
18.2.2 proxy与store 523 
18.3 panel、formpanel、gridpanel与window 537 
18.3.1 panel组件 537 
18.3.2 formpanel组件 539 
extjs 开发实战 
18.3.3 gridpanel组件 541 
18.3.4 window组件 543 
18.4 图表组件 545 
18.4.1 area图表 545 
18.4.2 bar图表 548 
18.4.3 radar图表 551 
18.4.4 pie图表 552 
extjs 4后记 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 maps api的类gmap 621 
20.4 组合界面组件 629 
20.4.1 定义geomappanel 629 
20.4.2 定义functionmenu 630 
20.4.3 定义georecordgridpanel 632 
20.4.4 定义mainpanel 636 
附 录 学习与实现资源 645