前 言
第一部分 Ext Core
第 1 章 Ext Core 重要概念••••••••••••••••2
1.1 Ext.Element•••••••••••••••••••••••••••••••••••••••••2
1.1.1 获取 HTMLElement 节点的 Ext.Element 实例•••••••••••••••••••••••••2
1.1.2 CSS 样式操作•••••••••••••••••••••••••••••3
1.1.3 DOM 查询与遍历•••••••••••••••••••••••4
1.1.4 DOM 操作•••••••••••••••••••••••••••••••••••6
1.1.5 事件处理•••••••••••••••••••••••••••••••••••••9
1.1.6 尺寸大小•••••••••••••••••••••••••••••••••••13
1.1.7 定位功能•••••••••••••••••••••••••••••••••••14
1.1.8 动画功能•••••••••••••••••••••••••••••••••••16
1.1.9 杂项•••••••••••••••••••••••••••••••••••••••••••19
1.2 Ext Core 的 Ajax 功能••••••••••••••••••••••19
1.3 DomQuery 详解••••••••••••••••••••••••••••••••20
1.4 模板介绍 ••••••••••••••••••••••••••••••••••••••••••23
1.5 实用功能 ••••••••••••••••••••••••••••••••••••••••••24
1.6 定时执行代码 ••••••••••••••••••••••••••••••••••25
1.7 本章小结 ••••••••••••••••••••••••••••••••••••••••••26
第 2 章 Ext Core 实例系统 设计•••••••••••••••••••••••••••••••••••••••••••27
2.1 需求分析 ••••••••••••••••••••••••••••••••••••••••••27
2.2 系统设计•••••••••••••••••••••••••••••••••••••••••• 28
2.3 功能结构图•••••••••••••••••••••••••••••••••••••• 29
2.4 开发与运行环境•••••••••••••••••••••••••••••• 31
2.5 数据库设计•••••••••••••••••••••••••••••••••••••• 31
2.6 本章小结•••••••••••••••••••••••••••••••••••••••••• 34
第 3 章 Ext Core 实例— .NET 语言实现 ••••••••••••••••••••• 35
3.1 创建应用并设置开发环境 •••••••••••••• 35
3.2 自定义 Membership 提供程序 •••••••• 37
3.3 创建母版页•••••••••••••••••••••••••••••••••••••• 38
3.4 首页设计•••••••••••••••••••••••••••••••••••••••••• 42
3.5 产品列表页•••••••••••••••••••••••••••••••••••••• 47
3.6 产品详细信息页•••••••••••••••••••••••••••••• 51
3.7 登录对话框•••••••••••••••••••••••••••••••••••••• 56
3.8 用户注册对话框•••••••••••••••••••••••••••••• 61
3.9 购物车对话框•••••••••••••••••••••••••••••••••• 65
3.10 结算•••••••••••••••••••••••••••••••••••••••••••••••• 70
3.11 为产品详细页添加评论••••••••••••••••• 77
3.12 本章小结•••••••••••••••••••••••••••••••••••••••• 84
第 4 章 Ext Core 实例— Java 语言实现 •••••••••••••••••••• 85
4.1 技术选型•••••••••••••••••••••••••••••••••••••••••• 85
4.2 搭建开发环境•••••••••••••••••••••••••••••••••• 85
4.3 设计页面布局 ••••••••••••••••••••••••••••••••••87
4.4 网上商店首页 ••••••••••••••••••••••••••••••••••90
4.5 产品列表页面 ••••••••••••••••••••••••••••••••••98
4.6 产品详细信息页面•••••••••••••••••••••••••105
4.7 登录对话框 ••••••••••••••••••••••••••••••••••••113
4.8 用户注册对话框•••••••••••••••••••••••••••••118
4.9 购物车对话框 ••••••••••••••••••••••••••••••••123
4.10 结算页面 ••••••••••••••••••••••••••••••••••••••126
4.11 为产品添加评论功能•••••••••••••••••••133
4.12 本章小结 ••••••••••••••••••••••••••••••••••••••139
第二部分 Store 和 Direct
第 5 章 在.NET 中使用 Ext.Direct ••••••••••••••••••••••••••••142
5.1 路由器包的内容•••••••••••••••••••••••••••••142
5.2 DIY 一个 Ext.Direct 实例 ••••••••••••••152
5.3 NewtonSoft.JSON•••••••••••••••••••••••••••155
5.3.1 JSON 的序列化和反序
列化••••••••••••••••••••••••••••••••••••••••••155
5.3.2 LINQ to JSON •••••••••••••••••••••••••158
5.3.3 JSON 文本的输出•••••••••••••••••••162
5.4 本章小结 ••••••••••••••••••••••••••••••••••••••••163
第 6 章 在 Java 中使用 Ext.Direct•••••••••••••••••••••••••••••164
6.1 在 Java 平台上配置 Ext.Direct•••••••164
6.1.1 下载 directjngine••••••••••••••••••••••164
6.1.2 配置主控 servlet ••••••••••••••••••••••165
6.1.3 配置客户端 •••••••••••••••••••••••••••••170
6.1.4 编写 JavaScript 调用 远程方法•••••••••••••••••••••••••••••••••172
6.2 为 Ext.Direct 自定义远程方法•••••••••173
6.3 Ext.Direct 中的高级应用••••••••••••••• 178
6.3.1 批量请求和批量响应••••••••••••• 178
6.3.2 在 tree 中使用 Ext.Direct •••••••• 181
6.3.3 为 grid 设置 DirectStore•••••••••• 183
6.3.4 在 form 中使用 Ext.Direct 加载数据 ••••••••••••••••••••••••••••••••• 185
6.3.5 在 form 中使用 Ext.Direct 提交数据••••••••••••••••••••••••••••••••• 187
6.3.6 使用 polling 方式进行轮询•••• 189
6.4 本章小结•••••••••••••••••••••••••••••••••••••••• 191
第 7 章 Store •••••••••••••••••••••••••••••••••••••• 192
7.1 Store 的结构••••••••••••••••••••••••••••••••••• 192
7.2 Ext.data.Field•••••••••••••••••••••••••••••••••• 197
7.3 Ext.data.Record•••••••••••••••••••••••••••••• 198
7.4 ArrayReader、JsonReader 和 XmlReader••••••••••••••••••••••••••••••••••••• 199
7.4.1 JsonReader •••••••••••••••••••••••••••••• 200
7.4.2 ArrayReader•••••••••••••••••••••••••••• 200
7.4.3 XmlReader •••••••••••••••••••••••••••••• 201
7.5 Store 的加载数据••••••••••••••••••••••••••• 201
7.6 Store 的数据操作••••••••••••••••••••••••••• 203
7.6.1 添加数据••••••••••••••••••••••••••••••••• 203
7.6.2 删除数据••••••••••••••••••••••••••••••••• 203
7.6.3 搜索、定位和统计••••••••••••••••• 203
7.6.4 更新数据••••••••••••••••••••••••••••••••• 206
7.6.5 排序 •••••••••••••••••••••••••••••••••••••••• 207
7.7 DataProxy••••••••••••••••••••••••••••••••••••••• 208
7.8 DirectStore ••••••••••••••••••••••••••••••••••••• 209
7.9 DataWriter•••••••••••••••••••••••••••••••••••••• 212
7.10 Ext.data.Api•••••••••••••••••••••••••••••••••• 212
7.11 本章小结•••••••••••••••••••••••••••••••••••••• 213
第三部分 Ext-UI
第 8 章 Ext 用户界面控件••••••••••••••216
8.1 布局••••••••••••••••••••••••••••••••••••••••••••••••216
8.1.1 在 FormPanel 中使用 HBoxLayout 进行布局••••••••••••216
8.1.2 在 FormPanel 中使用 HBoxLayout 和 VBoxLayout 进行布局•••••••••••••••••••••••••••••••••219
8.1.3 Panel 的 body 的样式范围•••••••••••••••••••••••••••••••••••••••••224
8.2 Form 表单组件•••••••••••••••••••••••••••••••226
8.2.1 DisplayField 控件••••••••••••••••••••226
8.2.2 在 FormPanel 中使用TabPanel ••••••••••••••••••••••••••••••••••229
8.2.3 DirectLoad 与 DirectSubmit ••••••••••••••••••••••••••••232
8.2.4 使用 DirectSubmit 上传文件•••••••••••••••••••••••••••••••••••••••••235
8.3 Grid 组件••••••••••••••••••••••••••••••••••••••••238
8.3.1 一个结合 DataWrite 和 RowEditor 的 Grid 示例••••••••••238
8.3.2 在 CRUD 操作中 restful 的 设置以及使用 Ext.Direct 的问题•••••••••••••••••••••••••••••••••••••••••247
8.4 ListView 控件•••••••••••••••••••••••••••••••••248
8.5 本章小结 ••••••••••••••••••••••••••••••••••••••••251
第四部分 Ext 扩展和 Ext 插件
第 9 章 Ext 扩展 •••••••••••••••••••••••••••••••254
9.1 利用 Ext.extend 实现继承••••••••••••••254
9.2 与 Ext 扩展相关的预备知识••••••••• 256
9.2.1 定义命名空间••••••••••••••••••••••••• 256
9.2.2 重写构造函数••••••••••••••••••••••••• 257
9.2.3 继承组件的一些准备••••••••••••• 257
9.2.4 常用的辅助函数••••••••••••••••••••• 258
9.2.5 使用 xtype••••••••••••••••••••••••••••••• 258
9.3 实现一个功能完整的增、删、查、改表格控件 ••••••••••••••••••••••••••• 259
9.3.1 扩展 GridPanel •••••••••••••••••••••••• 259
9.3.2 配置列模型••••••••••••••••••••••••••••• 259
9.3.3 配置显示数据••••••••••••••••••••••••• 260
9.3.4 点缀 EasyGrid••••••••••••••••••••••••• 261
9.3.5 实现添加一条记录的功能••••••••• 262
9.3.6 实现修改一条记录的功能••••••••• 264
9.3.7 实现删除一条记录的功能••••••••• 266
9.4 从头实现 Ext 扩展•••••••••••••••••••••••• 270
9.5 本章小结•••••••••••••••••••••••••••••••••••••••• 274
第 10 章 Ext 插件 ••••••••••••••••••••••••••••• 275
10.1 插件的用法•••••••••••••••••••••••••••••••••• 275
10.2 标签页右键菜单TabCloseMenu••••••••••••••••••••••••••••• 276
10.3 面板最大化 MaximizeTool •••••••••• 278
10.4 分页设置 PageSizePlugin •••••••••••• 282
10.5 行数据扩展 RowExpander••••••••••• 284
10.6 本章小结•••••••••••••••••••••••••••••••••••••• 290
第五部分 调试
第 11 章 调试•••••••••••••••••••••••••••••••••••••• 292
11.1 测试 Ext.Element 的功能••••••••••••• 292
11.1.1 获取 Ext.Element 实例•••••••••• 292
11.1.2 测试 CSS 样式操作 •••••••••••••• 294
11.1.3 测试 DOM 操作 ••••••••••••••••••••296
11.1.4 测试 DOM 查询与遍历•••••••••300
11.1.5 测试事件处理••••••••••••••••••••••••302
11.2 结合 DataWrite 和 RowEditor
的 Grid 的调试过程••••••••••••••••••••••303
11.3 本章小结 ••••••••••••••••••••••••••••••••••••••306
第六部分 实例
第 12 章 单页面应用实例系统分析 •••••••••••••••••••••••••••308
12.1 系统分析 ••••••••••••••••••••••••••••••••••••••308
12.2 系统设计 ••••••••••••••••••••••••••••••••••••••308
12.2.1 单页面应用设计的难点••••••••308
12.2.2 开发与运行环境••••••••••••••••••••309
12.2.3 数据库设计 •••••••••••••••••••••••••••309
12.3 各个模块的详细功能说明 •••••••••••311
12.3.1 登录页面 •••••••••••••••••••••••••••••••311
12.3.2 主页面•••••••••••••••••••••••••••••••••••311
12.3.3 角色管理 •••••••••••••••••••••••••••••••311
12.3.4 用户管理 •••••••••••••••••••••••••••••••312
12.3.5 进仓管理 •••••••••••••••••••••••••••••••312
12.3.6 出仓管理 •••••••••••••••••••••••••••••••313
12.3.7 产品管理 •••••••••••••••••••••••••••••••313
12.3.8 库存统计 •••••••••••••••••••••••••••••••314
12.3.9 修改密码 •••••••••••••••••••••••••••••••314
12.4 本章小结 ••••••••••••••••••••••••••••••••••••••314
第 13 章 单页面应用实例—.NET 语言实现 •••••••••••••••••315
13.1 创建应用并设置开发环境 •••••••••••315
13.2 自定义 Membership 提供程序••••••••••••••••••••••••••••••••••••••••• 317
13.3 登录页•••••••••••••••••••••••••••••••••••••••••• 319
13.4 主页面•••••••••••••••••••••••••••••••••••••••••• 324
13.5 Ext.Direct 的 API 句柄 •••••••••••••••• 329
13.6 修改密码对话框 •••••••••••••••••••••••••• 330
13.7 角色管理模块•••••••••••••••••••••••••••••• 333
13.8 用户管理•••••••••••••••••••••••••••••••••••••• 345
13.9 产品管理•••••••••••••••••••••••••••••••••••••• 356
13.10 进仓管理•••••••••••••••••••••••••••••••••••• 367
13.11 出仓管理•••••••••••••••••••••••••••••••••••• 388
13.12 库存统计•••••••••••••••••••••••••••••••••••• 403
13.13 退出页•••••••••••••••••••••••••••••••••••••••• 407
13.14 权限设置•••••••••••••••••••••••••••••••••••• 408
13.15 本章小结•••••••••••••••••••••••••••••••••••• 409
第 14 章 单页面应用实例——Java 语言实现•••••••••••••••• 410
14.1 技术选型•••••••••••••••••••••••••••••••••••••• 410
14.2 搭建开发环境•••••••••••••••••••••••••••••• 411
14.3 配置 Ext.Direct••••••••••••••••••••••••••••• 413
14.4 用户登录页面•••••••••••••••••••••••••••••• 417
14.5 系统主页面与动态菜单 •••••••••••••• 421
14.6 用户管理模块•••••••••••••••••••••••••••••• 427
14.7 角色管理模块•••••••••••••••••••••••••••••• 439
14.8 产品管理模块•••••••••••••••••••••••••••••• 447
14.9 进仓管理模块•••••••••••••••••••••••••••••• 450
14.10 出仓管理模块•••••••••••••••••••••••••••• 460
14.11 库存统计模块•••••••••••••••••••••••••••• 474
14.12 用户修改密码窗口 •••••••••••••••••••• 479
14.13 用户注销•••••••••••••••••••••••••••••••••••• 482
14.14 本章小结•••••••••••••••••••••••••••••••••••• 483
· · · · · · (
收起)