标题：深入浅出Ext JS（第2版）
基本信息
作者： 徐会生    康爱媛    何启伟  丛书名： 图灵程序设计丛书 Web 前端开发
出版社：人民邮电出版社
ISBN：9787115226372
上架时间：2010-5-14
出版日期：2010 年5月
开本：16开
页码：488
版次：2-1
内容简介
以用户为中心的时代，应用的界面外观变得越来越重要。然而，很多程序员都缺乏美术功底，要开发出界面美观的应用实属不易。ext js的出现，为广大程序员解决了这一难题。它有丰富多彩的界面和强大的功能，是开发具有炫丽外观的ria应用的最佳选择。
本书是《深入浅出ext js》的升级版，涵盖了最新发布的ext js 3.2新特性，并对上一版的内容进行增补，充实了示例代码，同时补充了两个功能强大的实例。特别是新增了如何优化基于ext的应用，提升加载速度，如何创建用户扩展组件以及常用的第三方扩展件等内容。大家可以看到如何在ext中使用漂亮的图表，尽情欣赏ext在性能方面实现的巨大突破，以及各种各样的绚丽组件。
本书注重理论与实践相结合，适合各层次web开发人员阅读。
作者
徐会生 高级软件工程师兼系统架构师，资深Java EE开发专家。他是国内探索Ext JS的先驱之一，精通UI开发，业余时间为Family168撰写了大量开源方面的教程。
何启伟 拥有10余年Java EE开发经验，为银行、医疗、烟草等各大行业成功开发了大量企业级应用。他用Ext JS和J2EE开发了一个强大的企业级应用框架——Ext Framework，在国内颇具影响力。同时，他还独立开发了大量EXT扩展组件，深受广大开发者欢迎。
目录
第1章 ext概述        1
1.1 ext版本变迁        1
1.2 下载ext发布包        2
1.3 如何查看ext自带的api和示例        2
1.4 为什么有些示例必须放在服务器上才能看到效果        3
1.5 hello world        3
1.5.1 直接使用下载的发布包        3
1.5.2 在项目中使用ext        4
1.6 为什么页面提示“找不到图片”        5
1.7 辅助开发        5
1.7.1 调试工具firebug        5
1.7.2 开发利器spket        8
1.8 小结        12
第2章 ext框架基础        13
2.1 ext的事件和类        13
2.1.1 自定义事件        13
2.1.2 浏览器事件        15
2.1.3 ext.lib.event        15
2.1.4 ext.util.observable        16
2.1.5 ext.eventmanager        19
.2.1.6 ext.eventobject        21
2.2 ext的核心组件        22
2.2.1 ext.component        22
2.2.2 ext.boxcomponent        25
2.2.3 ext.container        25
2.2.4 ext.panel        26
2.2.5 ext.tabpanel        26
2.3 小结        29
第3章 表格控件        30
3.1 表格的特性简介        30
3.2 制作一个简单的表格        31
3.3 表格常用功能详解        33
3.3.1 部分属性功能        34
3.3.2 自主决定每列的宽度        35
3.3.3 让表格支持按列排序        37
3.3.4 解决中文排序        38
3.3.5 显示日期类型数据        40
3.4 表格渲染        41
3.5 给表格的行和列设置颜色        45
3.6 自动显示行号和复选框        46
3.6.1 自动显示行号        46
3.6.2 复选框        48
3.7 选择模型        49
3.8 表格视图——ext.grid.gridview        50
3.9 表格分页        52
3.9.1 为表格添加分页工具条        52
3.9.2 通过后台脚本获得分页数据        53
3.9.3 分页工具条显示在表格的顶部        57
3.9.4 让ext支持前台分页        57
3.10 后台排序        58
3.11 可编辑表格控件——editorgrid        60
3.11.1 制作一个简单的editorgrid        60
3.11.2 添加一行数据        62
3.11.3 保存修改结果        65
3.11.4 验证editgrid中的数据        68
3.11.5 限制输入数据的类型        72
3.12 属性表格控件——propertygrid        76
3.12.1 propertygrid        77
3.12.2 只能看不能动的propertygrid        78
3.12.3 强制对name列排序        78
3.12.4 根据name获得value        79
3.12.5 自定义编辑器        79
3.13 分组表格控件——group        79
3.13.1 分组表格简介        80
3.13.2 分组表格视图ext.grid.groupingview        81
3.14 可拖放的表格        83
3.14.1 拖放改变表格的大小        83
3.14.2 在同一个表格里拖放        85
3.14.3 表格之间的拖放        87
3.14.4 表格与树之间的拖放        90
3.15 表格与右键菜单        91
3.16 小结        93
第4章 表单与输入控件        94
4.1 制作表单        94
4.2 formpanel和basicform详解        95
4.3 ext支持的控件        95
4.3.1 控件继承图        95
4.3.2 表单控件        96
4.3.3 基本输入控件ext.form.field        99
4.3.4 文本输入控件ext.form.textfield        100
4.3.5 多行文本输入控件ext.form.textarea        101
4.3.6 日期输入控件ext.form.datefield        101
4.3.7 时间输入控件ext.form.timefield        102
4.3.8 在线编辑器ext.form.htmleditor        102
4.3.9 隐藏域ext.form.hidden        103
4.3.10 下拉输入框ext.form.triggerfield        103
4.4 使用表单提交数据        105
4.4.1 ext默认的提交形式        105
4.4.2 使用html原始的提交形式        107
4.4.3 单纯ajax        107
4.5 数据校验        108
4.5.1 输入不能为空        108
4.5.2 最大长度和最小长度        109
4.5.3 借助vtype        109
4.5.4 自定义校验规则        110
4.5.5 算不上校验的numberfield        110
4.5.6 使用后台返回的校验信息        111
4.6 表单布局        112
4.6.1 默认的平铺布局        113
4.6.2 平行分列布局        113
4.6.3 在布局中使用fieldset        116
4.6.4 在fieldset中使用布局        118
4.6.5 自定义布局        119
4.7 combobox详解        121
4.7.1 combobox简介        122
4.7.2 将select转换成combobox        123
4.7.3 combobox结构详解        123
4.7.4 combobox读取远程数据        125
4.7.5 combobox的高级配置        126
4.7.6 监听用户选择的数据        128
4.7.7 使用本地数据实现省、市、县级联        129
4.7.8 使用后台数据实现省、市、县级联        132
4.8 复选框和单选框        135
4.8.1 复选框        135
4.8.2 单选框        136
4.9 文件上传        137
4.10 自动把数据填充到表单中        138
4.11 小结        140
第5章 树形结构        141
5.1 treepanel的基本使用        141
5.1.1 创建一棵树        141
5.1.2 为树生枝展叶        142
5.1.3 树形的配置        143
5.1.4 使用treeloader获得数据        144
5.1.5 读取本地json数据        145
5.1.6 与struts 2进行集成        146
5.1.7 使用jsp提供后台数据        147
5.2 树的事件        150
5.3 右键菜单        151
5.4 修改节点的默认图标        153
5.5 从节点弹出对话框        153
5.6 节点提示信息        154
5.7 为节点设置超链接        155
5.8 直接修改树节点名称        156
5.9 树形的拖放        157
5.9.1 节点拖放的3种形式        158
5.9.2 叶子不能append        158
5.9.3 判断拖放的目标        159
5.9.4 树之间的拖放        161
5.10 树形过滤器treefilter        161
5.11 利用treesorter对树进行排序        164
5.12 树形节点视图——ext.tree.treenodeui        164
5.13 表格与树形的结合——ext.ux.tree.columntree        166
5.14 小结        168
第6章 拖放        169
6.1 拖放简介        169
6.2 拖放的简单应用        169
6.3 拖放组件体系        170
6.4 拖放的事件        172
6.5 高级拖放        174
6.5.1 基础        174
6.5.2 控制柄        174
6.5.3 总在最上面        175
6.5.4 代理        177
6.5.5 分组        178
6.5.6 网格        182
6.5.7 拖动圆形        183
6.5.8 拖动范围        185
6.6 小结        186
第7章 弹出窗口        187
7.1 ext.messagebox        187
7.1.1 ext.messagebox.alert()        187
7.1.2 ext.messagebox.confirm()        188
7.1.3 ext.messagebox.prompt()        188
7.2 对话框的更多配置        189
7.2.1 可以输入多行的输入框        189
7.2.2 自定义对话框的按钮        189
7.2.3 进度条        190
7.2.4 动画效果        191
7.3 ext.window的常用属性        191
7.3.1 创建窗口        192
7.3.2 窗口的最大化和最小化        193
7.3.3 窗口的隐藏与销毁        194
7.3.4 防止窗口超出浏览器        195
7.3.5 设置窗口中的按钮        196
7.3.6 窗口的其他配置选项        197
7.4 窗口分组        198
7.5 向窗口中放入各种控件        200
7.5.1 在窗口中加入表格        200
7.5.2 在窗口中加入表单        201
7.5.3 复杂布局        202
7.6 小结        204
第8章 布局        205
8.1 布局的用途        205
8.2 最简单的布局——fitlayout        207
8.3 常用的边框布局——borderlayout        209
8.3.1 设置子区域的大小        210
8.3.2 使用split并限制它的范围        212
8.3.3 子区域的展开和折叠        213
8.4 制作伸缩菜单的布局——accordion        216
8.5 实现操作向导的布局——cardlayout        217
8.6 控制位置和大小的布局——anchorlayout和absolutelayout        219
8.7 表单专用的布局formlayout        223
8.8 分列式的布局columnlayout        225
8.9 表格状的布局tablelayout        227
8.10 与布局相关的其他知识        228
8.10.1 超类ext.container的公共配置与xtype的概念        228
8.10.2 layout的超类ext.layout. containerlayout        229
8.10.3 不指定任何布局时会发生的情况        230
8.10.4 使用viewport对整个页面进行布局        231
8.10.5 使用嵌套实现复杂布局        232
8.11 boxlayout        236
8.12 小结        237
第9章 工具条和菜单        238
9.1 简单菜单        238
9.2 向菜单中添加分隔线        239
9.3 多级菜单        240
9.4 高级菜单        242
9.4.1 多选菜单和单选菜单        242
9.4.2 日期菜单        244
9.4.3 颜色菜单        244
9.4.4 在菜单中添加其他组件        245
9.4.5 使用ext.menu.menumgr统一管理菜单        246
9.5 工具条组件详解        248
9.5.1 ext.toolbar.button        248
9.5.2 ext.toolbar.textmenu        248
9.5.3 ext.toolbar.spacer        249
9.5.4 ext.toolbar.separator        250
9.5.5 ext.toolbar.fill        250
9.5.6 ext.splitbutton        251
9.5.7 为工具条添加html标签        252
9.5.8 为工具条添加输入控件        253
9.6 分页工具条ext.pagingtoolbar        253
9.6.1 ext.pagingtoolbar的基本用法        253
9.6.2 向ext.pagingtoolbar添加按钮组件        254
9.7 右键弹出菜单        255
9.8 小结        257
第10章 数据存储与传输        258
10.1 ext.data命名空间下常用组件简介        258
10.2 ext.data.connection        258
10.3 ext.data.record        260
10.4 ext.data.store        261
10.4.1 基本应用        261
10.4.2 对数据进行排序        262
10.4.3 从store中获取数据        263
10.4.4 更新store中的数据        264
10.4.5 加载及显示数据        265
10.4.6 其他功能        266
10.5 常用proxy        268
10.5.1 memoryproxy        268
10.5.2 httpproxy        268
10.5.3 scripttagproxy        268
10.6 常用reader        269
10.6.1 arrayreader        269
10.6.2 jsonreader        270
10.6.3 xmlreader        271
10.7 高级store        273
10.8 ext中的ajax        274
10.8.1 最容易看到的ext.ajax        274
10.8.2 ext.lib.ajax是更底层的封装        275
10.9 关于scope和createdelegate()        276
10.10 dwr与ext整合        277
10.10.1 在ext中直接使用dwr        277
10.10.2 dwrproxy        279
10.10.3 dwrtreeloader        280
10.10.4 dwrproxy和combobox        281
10.11 localxhr支持本地使用ajax        282
10.12 小结        284
第11章 实用工具        285
11.1 ext提供的常用函数        285
11.1.1 onready函数        286
11.1.2 get函数        286
11.1.3 query函数和select函数        289
11.1.4 encode函数和decode函数        292
11.1.5 extend函数        294
11.1.6 apply函数和applyif函数        295
11.1.7 namespace函数        295
11.1.8 ext.isempty函数        296
11.1.9 ext.each函数        297
11.1.10 ext.domquery        298
11.2 使用domhelper和template动态生成html        301
11.2.1 使用domhelper生成小片段        301
11.2.2 ext.domhelper.applystyles函数        304
11.2.3 template（模板）        304
11.2.4 ext.domhelper.createtemplate函数        307
11.2.5 复杂模板xtemplate        308
11.3 用ext.utils.css切换主题        310
11.4 悬停提示        311
11.4.1 初始化        311
11.4.2 注册提示        312
11.4.3 标签提示        312
11.4.4 全局配置        312
11.4.5 个体配置        313
11.5 使用ext.state保存状态        314
11.6 使用fx实现的动画效果        317
11.7 局部更新网页内容        319
11.8 使用ext.util.format对数据进行格式化        320
11.9 使用ext.util.css管理css样式        321
11.10 使用ext.util.clickrepeater处理点击事件        322
11.11 使用ext.util.delayedtask延时执行函数        323
11.12 使用ext.util.taskrunner执行循环任务        324
11.13 混合型集合ext.util.mixedcollection        325
11.14 使用ext.util.textmetrices获得文本所占的高度和宽度        329
11.15 使用ext.keynav处理导航按键        330
11.16 使用ext.keymap为对象绑定按键功能        331
11.17 扩展        333
11.17.1 扩展date        333
11.17.2 扩展string        335
11.17.3 扩展function        336
11.17.4 扩展number        338
11.17.5 扩展array        338
11.18 门户组件ext.ux.portal        338
11.19 桌面组件ext.desktop        341
11.20 小结        345
第12章 一个完整的ext应用        346
12.1 确定整体布局        347
12.2 使用html和css设置静态信息        348
12.3 对学生信息进行数据建模        349
12.4 在页面中显示学生信息列表        353
12.5 添加表单编辑学生信息        358
12.6 为表单添加提交事件        361
12.7 清空表单信息        364
12.8 删除指定的学生信息        364
12.9 在表格和表单之间进行数据交互        365
12.10 提升加载速度        366
12.10.1 对javascript文件进行压缩混淆        367
12.10.2 使用客户端缓存        367
12.10.3 使用gzip压缩        368
12.11 小结        370
第13章 复杂实例        371
13.1 vip客户统计系统        371
13.2 tracker任务跟踪系统        380
13.3 小结        387
第14章 ext 3.x中的新特性        388
14.1 介绍ext core        388
14.1.1 adapter        388
14.1.2 core        389
14.1.3 data        389
14.1.4 util        389
14.1.5 扩展实例        390
14.2 介绍ext direct        392
14.2.1 ext direct        392
14.2.2 洞悉ext direct的原理        394
14.2.3 使用directjngine支持ext direct        396
14.3 介绍ext 3.0中新增的组件        398
14.3.1 行编辑器        399
14.3.2 进度条分页组件        399
14.3.3 缓冲式表格视图        400
14.3.4 标签面板的滚动菜单        401
14.3.5 处理工具条溢出        401
14.3.6 列表视图        402
14.3.7 工具条中的分组按钮        403
14.3.8 高级按钮        403
14.3.9 竖直分组的标签面板        404
14.4 在ext 3.0中使用flash报表        405
14.4.1 柱状图        405
14.4.2 横向柱状图        406
14.4.3 折线图        407
14.4.4 饼状图        408
14.4.5 柱状栈图        409
14.4.6 横向柱状栈图        410
14.4.7 混合图        411
14.5 ext 3.1带来的新特性        412
14.5.1 解决内存泄露        413
14.5.2 核心组件优化        414
14.5.3 分组表头        414
14.5.4 锁定列        415
14.5.5 树形表格        416
14.5.6 竖直布局        418
14.5.7 高级表格查询        419
14.5.8 自定义编辑器        421
14.6 ext 3.2带来的新特性        422
14.6.1 多重排序        423
14.6.2 为dataview添加动画变换效果        423
14.6.3 组合表单控件        424
14.6.4 滑动条表单控件        424
14.6.5 为滑动条指定多个滑块        425
14.6.6 更多工具条插件        426
14.6.7 新主题accessibility        428
14.7 小结        428
第15章 用户扩展与插件        429
15.1 介绍用户扩展        429
15.2 编写用户扩展所需的基础知识        432
15.2.1 继承模型        432
15.2.2 了解component的生命周期        436
15.3 编写自定义用户扩展        437
15.4 介绍ext的插件体系        438
15.5 常用扩展组件（一）uploaddialog        441
15.6 常用扩展组件（二）managediframe        443
15.7 小结        446
附录a ext常见问题        447
附录b ext对air的支持        454
附录c ext的版本变迁        462