第1章 EXT概述 1
下载EXT发布包 1
如何查看EXT自带的API和示例 1
为什么有些示例必须放在服务器上才能看到效果 2
Hello World 2
直接使用下载的发布包 2
在项目中使用EXT 3
为什么页面提示“找不到图片” 3
辅助开发 4
调试工具Firebug 4
开发利器Spket 7
本章小结 10
第2章EXT框架基础 11
EXT的事件和类 11
自定义事件 11
浏览器事件 13
Ext.lib.Event 13
Ext.util.observable 14
Ext.EventManager 17
Ext.EventObject 19
EXT的核心组件 20
Ext.Component 20
Ext.BoxComponent 22
Ext.Container 23
Ext.Panel 24
Ext.TabPanel 24
本章小结 27
第3章 表格控件 28
Grid的特性简介 28
制作一个简单的Grid 29
Grid常用功能详解 32
部分属性功能 32
自主决定每列的宽度 33
让Grid支持按列排序 35
解决中文排序 35
显示日期类型数据 37
在单元格里显示红色的字、图片和按钮 38
给Grid的行和列设置颜色 41
自动显示行号和复选框 42
自动显示行号 43
复选框 44
选择模型 45
表格视图——Ext.grid.GridView 46
表格分页 47
为Grid添加分页工具条 48
通过后台脚本获得分页数据 49
分页工具栏显示在Grid的顶部 51
让EXT支持前台排序 52
后台排序 53
可编辑表格控件——EditorGrid 55
制作一个简单的EditorGrid 55
添加一行数据 56
保存修改结果 58
验证EditGrid中的数据 59
限制输入数据的类型 60
属性表格控件——PropertyGrid 63
PropertyGrid 64
只能看不能动的PropertyGrid 65
强制对name列排序 65
根据name获得value 66
自定义编辑器 66
分组表格控件——Group 66
分组表格简介 67
分组表格视图Ext.grid.GroupingView 68
可拖放的表格 69
拖放改变表格的大小 69
在同一个表格里拖放 70
表格之间的拖放 72
表格与树之间的拖放 73
Grid与右键菜单 73
本章小结 74
第4章 表单与输入控件 76
制作一个表单 76
FormPanel和BasicForm详解 77
EXT支持的控件 77
控件继承图 77
表单控件 78
基本输入控件Ext.form.Field 78
文本输入控件Ext.form.TextField 79
多行文本输入控件Ext.form.TextArea 80
日期输入控件Ext.form.DateField 80
时间输入控件Ext.form.TimeField 81
在线编辑器Ext.form.HtmlEditor 81
隐藏域Ext.form.Hidden 82
下拉输入框Ext.form.TriggerField 82
使用表单提交数据 83
EXT默认的提交形式 83
使用HTML原始的提交形式 85
单纯Ajax 85
数据校验 86
输入不能为空 86
最大长度和最小长度 87
借助vtype 88
自定义校验规则 88
算不上校验的NumberField 88
使用后台返回的校验信息 89
表单布局 90
默认的平铺布局 90
平行分列布局 91
在布局中使用fieldset 93
在fieldset中使用布局 95
自定义布局:在表单中加入图片 96
ComboBox详解 97
ComboBox简介 98
将Select转换成ComboBox 99
ComboBox结构详解 99
使用远程数据 101
ComboBox的高级配置 102
监听用户选择了哪条数据 104
使用本地数据实现省、市、县级联 104
使用后台数据实现省、市、县级联 107
复选框和单选框 110
复选框 110
单选框Radio 111
文件上传 112
自动把数据填充到表单中 113
本章小结 114
第5章 树形结构 116
TreePanel的基本使用 116
创建一棵树 116
为树生枝展叶 117
tree的配置 118
使用TreeLoader获得数据 119
读取本地JSON数据 121
Struts 2的JsonPlugin 121
使用JSP提供后台数据 122
树的事件 125
右键菜单 126
修改节点的默认图标 127
从节点弹出对话框 128
节点提示信息 129
为节点设置超链接 129
直接修改树节点名称 130
树形的拖放 131
节点拖放的三种形式 131
叶子不能append 131
判断拖放的目标 132
树之间的拖放 134
树形过滤器TreeFilter 135
利用TreeSorter对树进行排序 137
树形节点视图——Ext.tree.TreeNodeUI 138
表格与树形的结合——Ext.tree.ColumnTree 139
本章小结 142
第6章 拖放 143
拖放简介 143
拖放的简单应用 143
拖放组件体系 144
拖放的事件 146
高级拖放 148
Basic 148
Handle 149
On Top 150
Proxy 151
Group 152
Grid 154
Circle 155
Region 157
本章小结 158
第7章 弹出窗口 159
Ext.MessageBox 159
Ext.MessageBox.alert() 159
Ext.MessageBox.confirm() 160
Ext.MessageBox.prompt() 160
对话框的更多配置 161
可以输入多行的输入框 161
自定义对话框的按钮 162
进度条 162
动画效果 164
Ext.window的常用属性 164
创建一个窗口 164
窗口的最大化和最小化 165
窗口的隐藏与销毁 167
防止窗口超出浏览器 167
设置窗口中的按钮 169
窗口的其他配置选项 170
窗口分组 171
向窗口中放入各种控件 172
在窗口中加入表格 172
在窗口中加入表单 173
复杂布局 174
本章小结 176
第8章 布局 177
布局的用途 177
最简单的布局FitLayout 179
常用的边框布局BorderLayout 182
设置子区域的大小 184
使用split并限制它的范围 185
子区域的展开和折叠 187
制作伸缩菜单的布局——Accordion 191
实现操作向导的布局——CardLayout 192
控制位置和大小的布局——AnchorLayout和AbsoluteLayout 194
表单专用的布局FormLayout 199
分列式的布局ColumnLayout 200
表格状的布局TableLayout 202
与布局相关的其他知识 204
超类Ext.Container的公共配置与xtype的概念 204
layout的超类Ext.layout.ContainerLayout 205
不指定任何布局时会发生的情况 206
使用Viewport对整个页面进行布局 206
使用嵌套实现复杂布局 207
本章小结 210
第9章 工具栏和菜单 211
简单菜单 211
向菜单中添加分隔线 212
多级菜单 213
高级菜单 214
多选菜单和单选菜单 214
日期菜单 216
颜色菜单 216
Ext.menu.Adapter菜单适配器 217
使用Ext.menu.MenuMgr统一管理菜单 220
工具栏组件详解 220
Ext.Toolbar.Button 221
Ext.Toolbar.TextMenu 221
Ext.Toolbar.Spacer 222
Ext.Toolbar.Separator 222
Ext.Toolbar.Fill 223
Ext.Toolbar.SplitButton 223
为工具条添加HTML标签 224
为工具条添加输入控件 225
分页工具条Ext.PagingToolbar 225
Ext.PagingToolbar的基本用法 225
向Ext.PagingToolbar添加按钮组件 226
右键弹出菜单 227
本章小结 229
第10章 数据存储与传输 230
Ext.data简介 230
Ext.data.Connection 230
Ext.data.Record 232
Ext.data.Store 233
基本应用 233
对数据进行排序 234
从store中获取数据 234
更新store中的数据 236
加载及显示数据 237
其他功能 238
常用proxy 239
MemoryProxy 239
HttpProxy 240
ScriptTagProxy 240
常用Reader 241
ArrayReader 241
JsonReader 242
XmlReader 243
高级store 245
EXT中的Ajax 246
最容易看到的Ext.Ajax 246
Ext.lib.Ajax是更底层的封装 247
关于scope和createDelegate() 247
DWR与EXT整合 249
在EXT中直接使用DWR 249
DWRProxy 250
DWRTreeLoader 252
DWRProxy和ComboBox 253
localXHR支持本地使用Ajax 254
本章小结 255
第11章 实用工具 256
EXT提供的常用函数 256
onReady函数 256
get函数 257
query函数和select函数 260
encode函数和decode函数 263
extend函数 265
apply函数和applyIf函数 266
namespace函数 266
Ext.isEmpty函数 267
Ext.each函数 268
Ext.DomQuery 269
用DomHelper和Template动态生成HTML 272
用DomHelper生成小片段 272
Ext.DomHelper.applyStyles函数 275
Template模板 276
Ext.DomHelper.createTemplate函数 278
复杂模板XTemplate 279
用Ext.Utils.CSS切换主题 281
悬停提示 282
初始化 282
注册提示 283
标签提示 283
全局配置 283
个体配置 284
使用Ext.state保存状态 285
fx实现的动画效果 288
局部更新网页内容 288
Ext.util.Format 290
使用Ext.util.CSS管理CSS样式 290
使用Ext.util.ClickRepeater处理点击事件 291
使用Ext.util.DelayedTask延时执行函数 293
使用Ext.util.TaskRunner执行循环任务 294
混合型集合Ext.util.MixedCollection 295
使用Ext.util.TextMetrices获得文本所占的高度和宽度 299
Ext.KeyNav处理导航按键 300
Ext.KeyMap为对象绑定按键功能 302
扩展 304
扩展Date 304
扩展String 306
扩展Function 306
扩展Number 308
扩展Array 308
Ext.ux.Portal 309
Ext.Desktop 312
本章小结 316
第12章 一个完整的EXT应用 317
确定整体布局 317
使用HTML和CSS设置静态信息 319
对学生信息进行数据建模 320
在页面中显示学生信息列表 324
添加表单编辑学生信息 329
为表单添加提交事件 332
清空表单信息 335
删除指定的学生信息 336
在Grid和Form之间进行数据交互 337
本章小结 338
第13章 通过Ext Framework合理地应用EXT 339
Ext Framework简介 339
Ext Framework架构解析 342
主要的第三方包 342
后台类关系图 342
前台组件关系图 344
本章小结 347
附录A EXT常见问题 348
附录B EXT对AIR的支持 355
附录C EXT的版本变迁 364