第1章 新手入门 1
1.1 Ext介绍 1
1.1.1 Ext:不仅仅是“又一个JavaScript库” 3
1.1.2 跨浏览器DOM 3
1.1.3 事件驱动的界面 3
1.1.4 Ext和AJAX 4
1.2 获取Ext 4
1.3 在页面中包含Ext 5
1.4 使用Ext库 6
1.5 范例 8
1.6 范例无法正常运行 8
1.7 适配器 9
1.8 异步执行 10
1.9 本地化 11
1.9.1 只提供英文版 11
1.9.2 英文版之外的其他语言版本 11
1.9.3 多语言版本 12
1.10 Ext JS在线社区 12
1.11 小结 13
第2章 Ext的常用方法 15
2.1 整装待发,启程! 15
2.1.1 占位符图片 16
2.1.2 小部件 16
2.1.3 动手实践 16
2.2 代码详解 17
2.3 使用onReady函数 17
2.4 小部件更多惊奇特性 18
2.5 JSON和配置对象介绍 20
2.5.1 传统的方式 20
2.5.2 全新方式——配置对象 20
2.5.3 配置对象如何工作 22
2.6 动手实践 22
2.7 点燃火焰 24
2.7.1 常用函数——Ext.get 25
2.7.2 关于速度的小提示 26
2.8 小结 27
第3章 表单 29
3.1 表单的核心组件 29
3.2 第一个表单 30
3.3 漂亮的表单是如何工作的 31
3.4 表单字段域 31
3.5 验证 32
3.6 内置的验证——vtype 33
3.7 错误显示样式 35
3.8 自定义验证——创建属于你的vtype 36
3.9 屏蔽——限制键盘输入 37
3.10 单选按钮和复选框 38
3.10.1 这是单选按钮,不是普通的按钮 38
3.10.2 X标记的复选框 38
3.11 组合框 39
3.12 文本域和HTML编辑器 42
3.13 表单字段域的事件侦听 43
3.14 按钮和表单行为 46
3.14.1 表单提交 47
3.14.2 回复消息——服务器响应 47
3.15 加载表单数据 50
3.16 选择对象引用还是组件配置 51
3.16.1 实例化 52
3.16.2 组件配置 52
3.17 小结 52
第4章 按钮、菜单和工具栏 53
4.1 工具栏的应用场景 53
4.2 工具栏 53
4.2.1 标准按钮 55
4.2.2 菜单按钮 55
4.2.3 分隔按钮 56
4.2.4 工具栏的工具项对齐、分隔符和空格符 57
4.2.5 快捷元素 58
4.2.6 图标按钮 58
4.2.7 按钮处理函数——单击这里 59
4.3 单击菜单项加载内容 60
4.4 工具栏中的表单字段域 62
4.5 窗体、网格和面板中的工具栏 62
4.6 小结 64
第5章 基于网格显示数据 65
5.1 什么是网格 65
5.2 基于网格显示结构化数据 66
5.2.1 创建一个数据存储 66
5.2.2 添加数据到数据存储 67
5.2.3 在数据存储中定义数据 68
5.2.4 指定数据类型 69
5.3 显示网格面板 70
5.3.1 它是怎样工作的 71
5.3.2 网格面板配置 71
5.4 定义网格的列模型 72
5.5 单元格呈现函数 73
5.5.1 使用内置的单元格呈现函数格式化数据 73
5.5.2 创建查找数据存储——自定义单元格呈现函数 73
5.5.3 组合两列 74
5.5.4 使用HTML和图形 75
5.6 内置功能 76
5.6.1 客户端排序 76
5.6.2 隐藏/显示列 76
5.6.3 列重新排列 77
5.7 在网格中显示服务端数据 78
5.7.1 使用XML格式文件加载电影数据 78
5.7.2 从JSON格式文件加载电影数据 80
5.7.3 使用PHP加载数据库数据 81
5.8 网格编程 82
5.8.1 使用行与列的选择 82
5.8.2 为选择操作侦听选择模型 83
5.8.3 通过编码操作网格(及其数据) 84
5.8.4 单击按钮编辑网格 84
5.9 高级网格格式化 85
5.9.1 网格分页 86
5.9.2 分组 88
5.9.3 分组存储器 88
5.10 小结 89
第6章 网格编辑器 91
6.1 可编辑网格可以做什么 91
6.2 使用可编辑的网格 92
6.2.1 编辑更多单元格数据 94
6.2.2 编辑更多的字段域类型 94
6.2.3 响应单元格编辑 96
6.2.4 在数据存储中添加和删除 98
6.3 将已编辑数据保存到服务器 102
6.3.1 将更新数据发送到服务器 102
6.3.2 从服务器删除数据 103
6.3.3 将新行保存到服务器 104
6.4 小结 106
第7章 布局 107
7.1 什么是布局、区域和视口 107
7.1.1 第一个布局 109
7.1.2 分隔区域 110
7.1.3 更多选项 110
7.2 标签面板 112
7.3 小部件无处不在 113
7.4 折叠面板 115
7.4.1 标签面板中嵌套折叠面板 115
7.4.2 在布局中添加工具栏 117
7.4.3 添加新影片的表单 118
7.5 高级布局和技巧 119
7.5.1 嵌套的布局 120
7.5.2 标签面板中的图标 121
7.5.3 编程式操作布局 122
7.5.4 切换可视化状态 122
7.5.5 创建另一个标签 123
7.6 小结 123
第8章 Ext JS培育的树 125
8.1 培育未来 125
8.2 从播种开始 126
8.3 第一棵幼苗 126
8.4 没有数据充当土壤,树将无法成长 128
8.4.1 JSON 128
8.4.2 XML 129
8.5 树的培育过程 130
8.5.1 拖放 130
8.5.2 排序 132
8.5.3 编辑 133
8.6 修整和修剪 134
8.6.1 选择模型 134
8.6.2 基于右键菜单整合多个功能 135
8.6.3 过滤 137
8.7 根节点 138
8.7.1 树的操作 140
8.7.2 事件捕获 141
8.7.3 记住状态 142
8.8 小结 143
第9章 窗体和对话框 145
9.1 打开对话框 145
9.2 对话框 146
9.2.1 “现货供应” 146
9.2.2 按需定制 149
9.3 窗体 152
9.3.1 入门范例 152
9.3.2 面板高级功能 153
9.3.3 配置 154
9.3.4 窗体控制 157
9.3.5 事件 158
9.3.6 状态处理 158
9.4 窗体管理器 159
9.4.1 窗体管理器默认行为 159
9.4.2 多窗体实例 160
9.4.3 客户服务窗体组 163
9.5 小结 164
第10章 特效 167
10.1 基本介绍 167
10.1.1 炫丽特性 168
10.1.2 让特效提升用户体验 168
10.2 Fxcellent函数 168
10.2.1 演绎疯狂,井然有序 168
10.2.2 有趣的标准配置对象 174
10.3 深入Fx内部 175
10.3.1 基于Ext的定位 175
10.3.2 配置项 176
10.4 多重特效 178
10.4.1 链式 178
10.4.2 排队 179
10.5 基于Ext.Element的特效 180
10.5.1 移动 180
10.5.2 使用Ext组件 181
10.6 炫丽登场 181
10.6.1 提示?屏蔽? 181
10.6.2 快捷提示 183
10.7 小结 184
第11章 拖曳 187
11.1 基于拖放完成操作 187
11.2 拖曳的生命周期 188
11.2.1 拖曳源 188
11.2.2 “把我放下” 189
11.3 傻瓜式交互 190
11.4 一个有趣的注册例子 193
11.5 高级应用 193
11.5.1 DataView拖曳 194
11.5.2 处理拖曳数据 195
11.5.3 代理和元数据 196
11.5.4 放入详细信息 196
11.6 拖曳分组 197
11.7 考察细节 198
11.7.1 配置 198
11.7.2 一切尽在掌控之中 198
11.8 管理移动过程 199
11.9 滚动管理 200
11.10 在组件中拖曳 201
11.10.1 树形面板 201
11.10.2 网格面板 201
11.10.3 真实应用 202
11.11 小结 202
第12章 关于数据 205
12.1 理解数据格式 205
12.1.1 基本远程面板数据 205
12.1.2 获取HTML数据 208
12.2 数据存储对象 210
12.3 使用DataReader映射数据 215
12.4 获取想要的信息:查找数据 219
12.5 获取想要的信息:过滤数据 220
12.6 处理记录集修改 227
12.7 Store对象的广泛应用 229
12.7.1 组合框中的Store 229
12.7.2 DataView中的Store 230
12.7.3 网格中的Store 230
12.8 小结 231
第13章 代码重用:扩展Ext JS 233
13.1 面向对象的JavaScript 233
13.2 基于Ext JS的面向对象编程 234
13.2.1 继承 234
13.2.2 从简单的例子开始 235
13.2.3 听起来很酷,但继承有什么用呢 236
13.3 理解包、类和命名空间 237
13.3.1 包 237
13.3.2 类 237
13.3.3 命名空间 237
13.3.4 接下来介绍什么 238
13.4 扩展什么 238
13.5 创建自定义命名空间 238
13.6 第一个自定义类 239
13.7 方法覆写 243
13.8 了解事件执行顺序 243
13.9 创建自定义事件 245
13.10 完成第一个自定义组件 247
13.11 下一个步骤是分解 250
13.12 使用xtype:延迟实例化的好处 255
13.13 在其他对象中嵌入自定义组件 255
13.14 小结 256
第14章 强大的Ext JS:更多功能 259
14.1 学无止境 259
14.2 表单小部件 259
14.2.1 日期字段域 260
14.2.2 时间字段域 261
14.2.3 数值字段域 262
14.2.4 复选分组和单选分组 262
14.2.5 HTML编辑器 263
14.3 数据格式化 264
14.3.1 基本字符串格式化 264
14.3.2 日期格式化 265
14.3.3 其他格式化 266
14.4 管理应用状态 267
14.4.1 基本“状态”管理 267
14.4.2 如何得到某个窗体 268
14.4.3 在Ext JS应用中使用后退按钮 268
14.5 访问DOM 269
14.5.1 查找DOM元素 269
14.5.2 操作DOM 269
14.5.3 处理样式 270
14.6 Ext JS对桌面应用的支持:Adobe AIR 270
14.7 Ext JS社区提供的扩展 272
14.7.1 DatePickerPlus 272
14.7.2 PowerWizard 272
14.7.3 TinyMCE 272
14.7.4 SwfUploadPanel 273
14.7.5 ColorPicker 273
14.8 更多资源 274
14.8.1 示例和演示 274
14.8.2 Ext JS API文档 274
14.8.3 Ext JS论坛 275
14.8.4 “手把手”教程 275
14.8.5 社区手册 275
14.8.6 Spket IDE 275
14.8.7 Aptana Studio 275
14.8.8 Google 276
14.9 小结 276
14.10 何去何从 276