《Ext JS权威指南》

《Ext JS权威指南》 《Ext JS权威指南》

  • 书名:《Ext JS权威指南》
  • 分类:编程
  • 作者:黄灯桥
  • 出版社:机械工业出版社
  • 出版年:2012-6-1
  • 售价:119.00元
  • 装订:平装
  • 页码:980

《Ext JS权威指南》 内容介绍:

Web应用的开发正随着HTML 5与CSS 3标准的不断成熟而进入一个新的时代,JavaScript框架之间的竞争也随着移动应用的迅速普及而愈演愈烈。经过一段时间的洗礼后,JQuery UI和Ext JS因为其各自独特的优势而逐渐成为Web应用开发框架的领导者。JQue ry UI因其轻量级、灵活的特点而受到追捧,Ext JS则以面向对象的模式设计、组件丰富、集成度高等优点而备受企业青睐。 Ext JS 4在Ext JS 3的基础上进行了重大革新,是一个里程碑版本。Ext JS 4经过重新架构以后,更加符合面向对象的设计,更易于扩展,更能满足企业应用不断扩展的要求。尤其是加入了图形功能以后,不仅很好地解决了图表的问题,而且还使该框架可以拓展到图形领域。随着HTML 5画布功能实现,Ext JS框架会变得更强大。 在项目中使用Ext JS不难,难的是如何用好它。要用好它,不仅要对它的架构要有一个整体的了解,例如数据如何处理、UI是如何与数据结合的等,如果不了解这些,就会闹在UI中找数据的笑话;而且还要熟悉调试工具的使用,不然就会对错误束手无策。本书的出发点就是教读者“如何用好Ext JS”,所以不仅详细而全面地讲解了Ext JS框架的使用,而且还通过源代码深入分析了其运行机制与原理。此外,本书还对Firebug使用方法和原理进行深入的讲解,目的是让读者在掌握Ext JS使用的基础上,能利用Firebug去深入研究Ext JS的原理并对开发中遇到的各种bug进行调试。 本书有两大特点:第一,授人以鱼,根据ext js的构成体系全面系统地讲解了其开发方法与技巧,每个知识点都辅之以翔实的案例,同时包含大量最佳实践,适合系统学习和开发参考;第二,授人以渔,宏观上对ext js的整体架构进行了分析,微观上则通过源代码深刻揭示了ext js的工作机制与原理,对于想了解ext js工作原理和在开发中碰到疑难问题的读者尤为有帮助。 全书一共22章:第1章简要介绍了学习ext js必备的基础知识、json、ext js 4的新特性,以及其开发工具的获取、安装与配置;第2章介绍了ext js 4的获取、ext js库的配置与使用、语法、本地化,以及一个经典的入门示例;第3章详细讲解了调试的工具及技巧,这是本书的重要内容,希望所有web开发者都能掌握;第4章全面介绍了ext js的基础架构;第5~9章分别讲解了ext js的事件及其应用、选择器与dom操作、数据交互、模板与组件、容器、面板、布局与视图;第10章和第11章分别详细介绍了重构后的gird和与gird同源的树;第12~16章分别讲解了表单、窗口、按钮、菜单、工具条、图形、图表,以及其他组件和实用功能;第17~19章分别介绍了ext.direct、动画功能和拖放功能;第20~22章则分别讲解了扩展与插件、主题开发、mvc应用的架构。 【编辑推荐】 相比之前的版本,Ext JS 4发生了革命性的变化,它在创建之初就以最全面现代化为目标,采用了改进的架构并加入了许多新的特性,从而使开发者能用更低的成本开发出更加可靠的下一代Web应用。Ext JS几乎对框架的每个部分都进行了升级和优化,力图充分利用现今各主流浏览器的能力,同时它与之前的版本还是兼容的。本书是目前最全面和最系统化地讲解Ext JS 4的著作,Ext JS 4的所用功能、模块,以及开发方法和技巧全部包含在其中,是一本实实在在的“权威指南”,适合系统学习和开发参考,强烈推荐。 ——51CTO 中国领先的IT技术网站 上将军是Ext JS领域当之无愧的专家,他在Ext JS领域的造诣之深,令人兴叹。难能可贵的是,他这些年来一直专注于Ext JS的研究和推广,紧跟Ext JS官方团队的步伐,撰写了大量关于Ext JS的最新资讯和技术文章,深受社区欢迎。同时,他还撰写了2本Ext JS的专著,广获读者好评。本书是它的第三本Ext JS著作,也是国内第一本真正全面针对Ext JS 4的专著,它不仅从应用的角度全面讲解了Ext JS的使用,而且还从源代码的角度深入分析了Ext JS的工作原理,可谓广度和深度兼备。 ——Ext JS中国用户组

作者黄灯桥介绍:

黄灯桥(网名:上将军) 资深Web技术专家,拥有10余年工作经验,一直致力于Web开发框架的研究,近年来醉心于Ext JS框架的开发与推广,撰写了大量关于Ext JS开发相关的教程,是社区公认的先锋和布道者,与Sencha 和Ext JS的官方开发团队有十分紧密的联系。著有经典著作《JavaScript凌厉开发——Ext详解与实践》和《Ext JS高级程序设计》。 他不仅精通VB、Delphi和C++等传统的面向对象技术,而且还擅长ASP.NET、PHP和Java等Web开发技术。目前重点关注Sencha Touch、JQuery UI、HTML 5、CSS 3以及NoSQL数据库等前沿技术。活跃于CSDN(博客专家)等各大技术社区,在社区内知名度极高,深受网友欢迎。 作者博客:http://blog.csdn.net/tianxiaode 本书微群:http://q.weibo.com/943166

《Ext JS权威指南》 目录大纲:

前 言
第1章 Ext JS 4开发入门 / 1
1.1 学习Ext JS必需的基础知识 / 1
1.2 JSON概述 / 3
1.2.1 认识JSON / 3
1.2.2 JSON的结构 / 3
1.2.3 JSON的例子 / 4
1.2.4 在JavaScript中使用JSON / 4
1.2.5 在.NET中使用JSON / 8
1.2.6 在Java中使用JSON / 12
1.2.7 更多有关JSON的信息 / 15
1.3 Ext JS 4概述 / 15
1.4 Ext JS的开发工具的获取、安装与配置介绍 / 18
1.4.1 Ext Designer / 18
1.4.2 在Visual Studio中实现智能提示 / 23
1.4.3 Spket / 28
1.4.4 在Eclipse中实现智能提示 / 32
1.5 如何获得帮助 / 32
1.6 本章小结 / 33
第2章 从“Hello World”开始 / 34
2.1 获取Ext JS 4 / 34
2.2 配置使用Ext JS库 / 35
2.3 编写“Hello World”程序 / 37
2.4 关于Ext.onReady / 38
2.5 关于Ext.BLANK_IMAGE_URL / 40
2.6 关于字体 / 42
2.7 Ext JS 4语法 / 42
2.8 本地化 / 60
2.9 为本书示例准备一个模板 / 60
2.10 本章小结 / 61
第3章 调试工具及技巧 / 62
3.1 使用Firebug进行调试 / 62
3.2 在IE中调试 / 76
3.2.1 使用Debugbar和Companion.js调试 / 76
3.2.2 使用IEtester测试 / 80
3.2.3 在IE 8或IE 9中调试 / 83
3.3 在Chrome中调试 / 84
3.4 调试工具的总结 / 84
3.5 调试技巧 / 85
3.6 本章小结 / 89
第4章 Ext JS的基础架构 / 90
4.1 Ext JS框架的命名空间:Ext / 90
4.1.1 概述 / 90
4.1.2 apply和applyIf方法 / 90
4.1.3 不推荐的extend方法 / 92
4.1.4 数据及其类型检测 / 95
4.1.5 其他的基础方法 / 99
4.2 为框架顺利运行提供支持 / 107
4.2.1 平台检测工具:Ext.is / 107
4.2.2 当前运行环境检测工具:Ext.supports / 109
4.3 Ext JS的静态方法 / 112
4.3.1 概述 / 112
4.3.2 Ext.Object中的静态方法 / 113
4.3.3 Ext.Function中的静态方法 / 120
4.3.4 Ext.Array中的静态方法 / 127
4.3.5 Ext.Error中的静态方法 / 133
4.4 深入了解类的创建及管理 / 135
4.4.1 开始创建类 / 135
4.4.2 创建类的类:Ext.Class / 137
4.4.3 所有继承类的基类:Ext.Base / 151
4.4.4 实现动态加载:Ext.Loader / 151
4.4.5 管理类的类:Ext.ClassManager / 159
4.4.6 类创建的总结 / 161
4.5 动态加载的路径设置 / 163
4.6 综合实例:页面计算器 / 165
4.7 本章小结 / 169
第5章 Ext JS的事件及其应用 / 170
5.1 概述 / 170
5.2 浏览器事件 / 170
5.2.1 绑定浏览器事件的过程:Ext.EventManager / 170
5.2.2 封装浏览器事件:Ext.EventObject / 179
5.2.3 移除浏览器事件 / 181
5.3 内部事件 / 184
5.3.1 内部事件对象:Ext.util.Event / 184
5.3.2 为组件添加事件接口:Ext.util.Observable / 188
5.3.3 为组件绑定事件 / 189
5.3.4 内部事件的触发过程 / 192
5.3.5 移除事件 / 194
5.4 特定功能的事件对象 / 196
5.4.1 延时任务:Ext.util.DelayedTask / 196
5.4.2 一般任务:Ext.util.TaskRunner与Ext.TaskManager / 198
5.4.3 封装好的单击事件:Ext.util.ClickRepeater / 200
5.5 键盘事件 / 201
5.5.1 为元素绑定键盘事件:Ext.util.KeyMap / 201
5.5.2 键盘导航:Ext.util.KeyNav / 204
5.6 综合实例:股票数据的实时更新 / 205
5.7 本章小结 / 214
第6章 选择器与DOM操作 / 215
6.1 Ext JS的选择器:Ext.DomQuery / 215
6.1.1 选择器的作用 / 215
6.1.2 使用Ext.query选择页面元素 / 215
6.1.3 基本选择符 / 223
6.1.4 属性选择符 / 229
6.1.5 CSS属性值选择符 / 234
6.1.6 伪类选择符 / 235
6.1.7 扩展选择器 / 248
6.1.8 Ext.DomQuery的使用方法 / 249
6.1.9 Ext JS选择器的总结 / 252
6.2 获取单一元素:Ext.dom.Element / 252
6.2.1 从错误开始 / 252
6.2.2 使用Ext.get获取元素 / 253
6.2.3 使用Ext.fly获取元素 / 256
6.2.4 使用Ext.getDom获取元素 / 257
6.2.5 获取元素的总结 / 258
6.3 元素生成器:Ext.dom.Helper / 258
6.3.1 概述 / 258
6.3.2 使用createHtml或markup方法生成HTML代码 / 258
6.3.3 使用createDOM方法生成DOM对象 / 261
6.3.4 使用createTemplate方法创建模板 / 263
6.3.5 Helper对象的使用方法 / 263
6.4 元素的操作 / 273
6.5 获取元素集合:Ext.CompositeElementLite与Ext.CompositeElement / 277
6.5.1 使用Ext.select获取元素集合 / 277
6.5.2 Ext.dom.CompositeElement与Ext.dom.CompositeElementLite的区别 / 279
6.5.3 操作元素集合 / 279
6.6 综合实例:可折叠的面板Accordion / 280
6.7 本章小结 / 283
第7章 数据交互 / 284
7.1 数据交互基础 / 284
7.1.1 Ajax概述 / 284
7.1.2 封装Ajax:Ext.data.Connection与Ext.Ajax / 284
7.1.3 使用Ajax / 291
7.1.4 跨域获取数据:Ext.data.JsonP / 295
7.1.5 为Element对象提供加载功能:Ext.ElementLoader / 295
7.1.6 为组件提供加载功能:Ext.ComponentLoader / 296
7.2 代理 / 299
7.2.1 代理概述 / 299
7.2.2 基本的代理:Ext.data.proxy.Proxy / 300
7.2.3 进行批量操作:Ext.data.Batch与Ext.data.Operation / 303
7.2.4 服务器端代理:Ext.data.proxy.Server / 305
7.2.5 使用Ajax处理数据的代理:Ext.data.proxy.Ajax与Ext.data.proxy.Rest / 308
7.2.6 跨域处理数据的代理:Ext.data.proxy.JsonP / 312
7.2.7 为Ext.Direct服务的代理:Ext.data.proxy.Direct / 312
7.2.8 客户端代理:Ext.data.proxy.Client / 314
7.2.9 从变量中提取数据的代理:Ext.data.proxy.Memory / 314
7.2.10 使用浏览器存储的代理:Ext.data.WebStorageProxy、Ext.data. SessionStorageProxy和Ext.data.proxy.LocalStorage / 314
7.3 读取和格式化数据 / 315
7.3.1 概述 / 315
7.3.2 数据的转换过程:Ext.data.reader.Xml、Ext.data.reader.Json和Ext.data.reader.Array / 315
7.3.3 Reader对象的配置项 / 321
7.3.4 格式化提交数据:Ext.data.writer.Writer、Ext.data.writer.JSON和Ext.data. writer.Xml / 322
7.3.5 Writer对象的配置项 / 325
7.4 数据模型 / 326
7.4.1 概述 / 326
7.4.2 数据类型及排序类型:Ext.data.Types与Ext.data.SortTypes / 326
7.4.3 数据模型的骨架——字段:Ext.data.Field / 330
7.4.4 数据集:Ext.util.AbstractMixedCollection与Ext.util.MixedCollection / 330
7.4.5 数据验证及错误处理:Ext.data.validations与Ext.data.Errors / 332
7.4.6 模型的关系:Ext.data.Association、Ext.data.HasManyAssociation和Ext.data.BelongsToAssociation / 334
7.4.7 管理数据模型:Ext.AbstractManager与Ext.ModelManager / 336
7.4.8 定义数据模型:Ext.data.Model / 336
7.4.9 数据模型的定义过程 / 337
7.4.10 数据模型的创建 / 340
7.4.11 数据模型的配置项、属性和方法 / 343
7.5 Store / 344
7.5.1 概述 / 344
7.5.2 Store对象的实例化过程 / 345
7.5.3 TreeStore对象的实例化过程 / 348
7.5.4 Ext.data.Store加载数据的方法 / 350
7.5.5 Ext.data.TreeStore加载数据的方法 / 354
7.5.6 Store的配置项 / 358
7.5.7 Store的分页 / 359
7.5.8 Store的排序:Ext.util.Sorter与Ext.util.Sortable / 360
7.5.9 Store的过滤:Ext.util.Filter / 363
7.5.10 Store的分组:Ext.util.Grouper / 363
7.5.11 树节点:Ext.data.NodeInterface与Ext.data.Tree / 364
7.5.12 Store的方法 / 366
7.5.13 Store的事件 / 368
7.5.14 Store管理器:Ext.data.StoreManager / 369
7.6 综合实例 / 369
7.6.1 远程读取JSON数据 / 369
7.6.2 读取XML数据 / 378
7.6.3 Store的数据操作 / 379
7.7 本章小结 / 384
第8章 模板与组件基础 / 385
8.1 模板 / 385
8.1.1 模板概述 / 385
8.1.2 Ext.Template的创建与编译 / 385
8.1.3 格式化输出数据:Ext.String、Ext.Number、Ext.Date和Ext.util.Format / 389
8.1.4 超级模板:Ext.XTemplate(包括Ext.XTemplateParser和Ext.XTemplateCompiler) / 393
8.1.5 模板的方法 / 396
8.2 组件的基础知识 / 396
8.2.1 概述 / 396
8.2.2 组件类的整体架构 / 397
8.2.3 布局类的整体架构 / 402
8.2.4 组件的创建流程 / 403
8.2.5 常用的组件配置项、属性、方法和事件 / 415
8.3 为组件添加功能 / 418
8.3.1 为元素添加阴影:Ext.Shadow与Ext.ShadowPool / 418
8.3.2 为组件提供阴影和shim功能:Ext.Layer / 419
8.3.3 让组件实现浮动功能:Ext.util.Floating / 420
8.3.4 记录组件状态:Ext.state.Stateful / 420
8.3.5 实现调整大小功能:Ext.resizer.Resizer与Ext.resizer.ResizeTracker / 420
8.3.6 为组件提供拖动功能:Ext.util.ComponentDragger / 421
8.3.7 为组件实现动画功能:Ext.util.Animate / 422
8.3.8 其他的组件辅助功能类 / 423
8.4 组件的管理 / 423
8.4.1 组件管理及查询:Ext.ComponentManager与Ext.ComponentQuery / 423
8.4.2 焦点管理:Ext.FocusManager / 424
8.4.3 z-order管理:Ext.ZindexManager与Ext.WindowManager / 425
8.4.4 状态管理:Ext.state.Manager、Ext.state.Provider、Ext.state.Local-StorageProvider和Ext.state.CookieProvider / 426
8.5 综合实例 / 426
8.5.1 使用子模板 / 426
8.5.2 递归调用模板 / 428
8.6 本章小结 / 429
第9章 容器、面板、布局和视图 / 430
9.1 容器与布局的关系 / 430
9.2 容器 / 431
9.2.1 容器的创建过程:Ext.container.AbstractContainer与Ext.container.Container / 431
9.2.2  Ext.container.AbstractContainer和Ext.container.Container的配置项、属性、方法和事件 / 434
9.2.3 将body元素作为容器:Ext.container.Viewport / 435
9.3 面板 / 436
9.3.1 面板的结构 / 436
9.3.2 构件的放置:dockedItems / 438
9.3.3 面板标题栏构件:Ext.panel.Header与Ext.panel.Tool / 438
9.3.4 记录和恢复面板属性:Ext.util.Memento / 439
9.3.5 面板常用的配置项、方法和事件 / 439
9.4 布局 / 441
9.4.1 布局概述 / 441
9.4.2 布局的运行流程:Ext.layout.Layout / 441
9.4.3 容器类布局基类:Ext.layout.container.Container / 442
9.4.4 盒子布局、垂直布局与水平布局:Ext.layout.container.Box、Ext.layout.container.VBox与Ext.layout.container.HBox / 442
9.4.5 为盒子模型提供调整大小的功能:Ext.resizer.Splitter / 445
9.4.6 手风琴布局:Ext.layout.container.Accordion / 447
9.4.7 锚固布局:Ext.layout.container.Anchor / 448
9.4.8 绝对定位布局:Ext.layout.container.Absolute / 450
9.4.9 边框布局:Ext.layout.container.Border / 451
9.4.10 自动布局:Ext.layout.container.Auto / 453
9.4.11 表格布局:Ext.layout.container.Table / 454
9.4.12 列布局:Ext.layout.container.Column / 455
9.4.13 自适应布局:Ext.layout.container.AbstractFit与Ext.layout.container.Fit / 456
9.4.14 卡片布局:Ext.layout.container.AbstractCard与Ext.layout.container.Card / 456
9.5 标签面板 / 458
9.5.1 标签面板的构成及其运行流程:Ext.tab.Panel、Ext.tab.Bar与Ext.tab.Tab / 458
9.5.2 标签面板的配置项、属性、方法和事件 / 462
9.5.3 使用标签页 / 463
9.5.4 可重用的标签页 / 465
9.6 视图与选择模型 / 465
9.6.1 视图与选择模型概述 / 465
9.6.2 视图的运行流程:Ext.view.AbstractView与Ext.view.View / 466
9.6.3 选择模型的工作流程 / 475
9.6.4 选择模型的配置项、属性、方法和事件 / 480
9.6.5 视图的配置项、属性、方法和事件 / 482
9.6.6 使用视图 / 484
9.7 页面布局设计 / 491
9.8 综合实例 / 492
9.8.1 布局设计实例:仿Eclipse界面 / 492
9.8.2 在单页面应用中使用卡片布局实现“页面”切换 / 496
9.9 本章小结 / 498
第10章 重构后的Grid / 500
10.1 Grid的基类及其构成 / 500
10.1.1 概述 / 500
10.1.2 表格面板的运行流程:Ext.panel.Table / 500
10.1.3 表格视图的运行流程:Ext.view.Table与Ext.view.TableChunker / 505
10.1.4 列标题容器的运行流程:Ext.grid.header.Container / 508
10.1.5 列标题的运行流程:Ext.grid.column.Column / 510
10.1.6 虚拟滚动条的工作原理:Ext.grid.PagingScroller / 511
10.1.7 锁定列的运行流程:Ext.grid.Lockable与Ext.grid.LockingView / 516
10.2 使用Grid / 520
10.2.1 最简单的Grid / 520
10.2.2 列的配置项 / 521
10.2.3 自定义单元格的显示格式 / 523
10.2.4 通过列对象定义单元格的显示格式 / 525
10.2.5 设置行的背景颜色 / 532
10.2.6 列标题的分组 / 533
10.2.7 使用锁定列 / 534
10.2.8 Grid的配置项、属性、方法和事件 / 535
10.3 Grid的附加功能 / 537
10.3.1 概述 / 537
10.3.2 附加功能基类:Ext.grid.featrue.Featrue / 537
10.3.3 为行添加附加信息:Ext.grid.featrue.RowBody / 538
10.3.4 数据汇总功能:Ext.grid.featrue.AbstractSummary与Ext.grid.featrue. Summary / 539
10.3.5 分组功能:Ext.grid.featrue.Grouping / 543
10.3.6 分组汇总功能:Ext.grid.featrue.GroupingSummary / 545
10.4 可编辑的Grid / 546
10.4.1 概述 / 546
10.4.2 Grid实现可编辑功能的运行流程:Ext.grid.plugin.Editing / 547
10.4.3 单元格编辑的运行流程:Ext.grid.plugin.CellEditing、Ext.grid.CellEditor与Ext.Editor / 550
10.4.4 行编辑的运行流程:Ext.grid.plugin.RowEditing与Ext.grid.RowEditor / 556
10.4.5 在Grid中使用单元格编辑模式 / 561
10.4.6 在Grid中使用行编辑模式 / 562
10.4.7 Grid编辑插件的配置项、属性、方法和事件 / 563
10.5 关于列表视图:ListView / 564
10.6 属性Grid / 564
10.6.1 概述 / 564
10.6.2 使用属性Grid / 564
10.6.3 自定义编辑组件 / 565
10.6.4 PropertyGrid的配置项、属性、方法和事件 / 566
10.7 综合实例 / 567
10.7.1 使用不同选择模型的Grid以及设置默认选择行 / 567
10.7.2 Grid的本地排序和过滤 / 569
10.7.3 使用分页工具条(PagingToolbar)实现远程分页、排序和过滤 / 570
10.7.4 使用分页滚动条(PagingScroller)实现远程分页、排序和过滤 / 574
10.7.5 使用CellEditing实现数据的增删改 / 578
10.7.6 使用RowEditing实现数据的增删改 / 587
10.7.7 主从表的显示 / 589
10.8 本章小结 / 595
第11章 与Grid同源的树 / 597
11.1 树的构成 / 597
11.1.1 概述 / 597
11.1.2 树面板的运行流程:Ext.tree.Panel / 597
11.1.3 TreeStore的运行流程:Ext.data.TreeStore / 600
11.1.4 TreeColumn的运行流程:Ext.tree.Column / 602
11.1.5 视图的运行流程:Ext.tree.View与Ext.data.NodeStore / 602
11.1.6 树的选择模型:Ext.selection.TreeModel / 603
11.2 树的使用 / 603
11.2.1 一个最简单的树 / 603
11.2.2 树节点的默认字段 / 603
11.2.3 为树节点添加附加字段 / 604
11.2.4 显示多列数据(TreeGrid效果) / 605
11.2.5 在树中使用复选框 / 605
11.2.6 树的配置项、属性、方法和事件 / 607
11.3 综合实例 / 608
11.3.1 树的远程加载 / 608
11.3.2 树的动态加载及节点维护 / 610
11.3.3 XML树及节点维护 / 617
11.3.4 使用树动态控制Grid的显示 / 622
11.4 本章小结 / 625
第12章 表单 / 626
12.1 表单的构成及操作 / 626
12.1.1 表单面板的运行流程:Ext.form.Panel与Ext.form.FieldAncestor / 626
12.1.2 表单面板的配置项、属性、方法和事件 / 628
12.1.3 表单的管理:Ext.form.Basic / 629
12.1.4 BasicForm的配置项、属性、方法和事件 / 635
12.1.5 表单的操作:Ext.form.action.Action / 636
12.1.6 加载操作的运行流程:Ext.form.action.Load与Ext.form.action.DirectLoad / 637
12.1.7 提交操作的运行流程:Ext.form.action.Submit、Ext.form.action.DirectSubmit与Ext.form.action.StandardSubmit / 641
12.1.8 字段的构成 / 643
12.1.9 BaseField的配置项、属性、方法和事件 / 643
12.1.10 常用的验证函数:Ext.form.field.VTypes / 647
12.2 使用字段 / 647
12.3 使用Trigger类字段 / 664
12.3.1 具有单击功能的字段:Ext.form.field.Trigger / 664
12.3.2 实现微调功能的Spinner字段 / 665
12.3.3 使用NumberField字段 / 666
12.3.4 下拉选择类字段的基类:Ext.form.field.Picker / 667
12.3.5 使用DateField字段 / 667
12.3.6 使用TimeField字段 / 669
12.4 使用ComboBox字段 / 669
12.4.1 概述 / 669
12.4.2 BoundList对象的运行流程 / 670
12.4.3 ComboBox字段的配置项、属性、方法和事件 / 671
12.4.4 最简单的ComboBox / 672
12.4.5 自定义列表显示格式的ComboBox / 673
12.4.6 动态调整ComboBox的列表数据 / 674
12.4.7 实现ComboBox的联动 / 676
12.4.8 使用ComboBox的查询功能 / 684
12.4.9 设置ComboBox的默认值 / 688
12.5 表单的验证和加载数据 / 690
12.5.1 表单的验证及错误显示方式 / 690
12.5.2 为表单加载数据 / 695
12.6 在表单中使用布局 / 701
12.6.1 分列显示表单的字段 / 701
12.6.2 使用Fieldset作为列容器 / 703
12.6.3 使用两列布局加HtmlEditor的表单 / 704
12.6.4 在表单中使用标签页 / 705
12.7 综合实例:实现Products表的管理功能 / 706
12.8 本章小结 / 715
第13章 窗口 / 716
13.1 窗口:Ext.window.Window. / 716
13.1.1 窗口的构成 / 716
13.1.2 窗口的配置项、属性、方法和事件 / 716
13.1.3 使用窗口 / 718
13.1.4 在窗口内使用布局 / 719
13.2 信息提示窗口:Ext.window.MessageBox / 720
13.2.1 概述 / 720
13.2.2 信息提示窗口的构成 / 720
13.2.3 使用信息提示窗口 / 722
13.2.4 信息提示窗口按钮的本地化 / 723
13.2.5 使用alert方法 / 724
13.2.6 使用confirm方法 / 724
13.2.7 使用progress方法 / 725
13.2.8 使用prompt方法 / 726
13.2.9 使用wait方法 / 727
13.2.10 使用信息提示窗口要注意的问题 / 727
13.3 综合实例:实现登录窗口 / 729
13.4 本章小结 / 733
第14章 按钮、菜单与工具条 / 734
14.1 按钮 / 734
14.1.1 按钮的构成:Ext.button.Button / 734
14.1.2 按钮的配置项、属性、方法和事件 / 734
14.1.3 使用按钮 / 736
14.1.4 带分割线的按钮:Ext.button.Split / 737
14.1.5 多状态按钮:Ext.button.Cycle / 737
14.1.6 按钮组:Ext.container.ButtonGroup / 738
14.2 菜单及菜单项 / 739
14.2.1 Ext JS的菜单(Menu对象)是什么 / 739
14.2.2 菜单管理器:Ext.menu.Manager / 740
14.2.3 菜单项:Ext.menu.Item / 740
14.2.4 可复选的菜单项:Ext.menu.CheckItem / 741
14.2.5 菜单分隔条:Ext.menu.Separator / 741
14.2.6 颜色选择器菜单:Ext.menu.ColorPicker / 742
14.2.7 日期选择菜单:Ext.menu.DatePicker / 742
14.2.8 使用菜单 / 742
14.3 工具栏及工具栏组件 / 743
14.3.1 工具栏:Ext.toolbar.Toolbar / 743
14.3.2 非交互式工具栏条目的基类:Ext.toolbar.Item / 743
14.3.3 文本项:Ext.toolbar.TextItem / 744
14.3.4 填充项:Ext.toolbar.Fill / 744
14.3.5 工具栏分隔条:Ext.toolbar.Separator / 744
14.3.6 空白项:Ext.toolbar.Spacer / 744
14.3.7 分页工具栏:Ext.toolbar.Paging / 744
14.3.8 使用工具栏 / 747
14.4 使用Ext.Action / 747
14.4.1 概述 / 747
14.4.2 Action对象配置项和方法 / 748
14.4.3 使用示例 / 748
14.5 综合实例:在Grid中使用右键菜单 / 750
14.6 本章小结 / 752
第15章 图形与图表 / 753
15.1 基础知识 / 753
15.1.1 SVG简介 / 753
15.1.2 VML简介 / 754
15.2 图形介绍 / 755
15.2.1 概述 / 755
15.2.2 画布的工作流程:Ext.draw.Component / 755
15.2.3 图形引擎及接口:Ext.draw.Surface、Ext.draw.engine.Svg和Ext.draw.engine.Vml / 757
15.2.4 画笔:Ext.draw.Sprite / 760
15.2.5 图层:Ext.draw.CompositeSprite / 760
15.2.6 调色板:Ext.draw.Color / 760
15.2.7 辅助对象:Ext.draw.Draw与Ext.draw.Matrix / 760
15.3 使用图形功能 / 760
15.3.1 简单的开始 / 760
15.3.2 DrawComponent对象的配置项、属性、方法和事件 / 761
15.3.3 Surface对象的配置项、属性、方法和事件 / 761
15.3.4 DrawSprite对象的配置项、属性、方法和事件 / 762
15.3.5 CompositeSprite对象的配置项、属性、方法和事件 / 763
15.3.6 使用基本图形 / 764
15.3.7 使用图片 / 765
15.3.8 使用路径 / 766
15.3.9 移动、旋转和缩放图形 / 767
15.3.10 使用渐变效果 / 770
15.3.11 使用图层 / 771
15.4 图表介绍 / 772
15.4.1 概述 / 772
15.4.2 图表的工作流程 / 773
15.5 使用图表 / 776
15.5.1 从一个简单例子开始 / 776
15.5.2 坐标轴的配置项 / 777
15.5.3 Series对象的配置项、属性、方法和事件 / 779
15.5.4 折线图的配置项 / 780
15.5.5 显示多个折线图及使用图例 / 782
15.5.6 使用面积图 / 783
15.5.7 简单条形图(Bar和Column Chart)及使用标签(Label对象) / 785
15.5.8 堆积条形图 / 787
15.5.9 分组条形图 / 788
15.5.10 自定义条形颜色 / 789
15.5.11 使用散点图 / 789
15.5.12 使用饼图 / 791
15.5.13 自定义饼块颜色 / 792
15.5.14 使用表盘图 / 792
15.5.15 使用雷达图 / 795
15.5.16 使用时间轴 / 796
15.5.17 实现实时动态的图表 / 797
15.5.18 使用组合图 / 800
15.5.19 在图表中使用背景 / 801
15.5.20 在图表中自定义主题 / 803
15.6 本章小结 / 805
第16章 其他组件及实用功能 / 806
16.1 其他组件 / 806
16.2 使用滑块 / 812
16.3 使用提示信息 / 814
16.4 实用功能 / 822
16.5 本章小结 / 826
第17章 可简化通信的Ext.Direct / 827
17.1 准备工作 / 827
17.2 Ext.Direct的工作原理及构成 / 827
17.2.1 工作原理 / 827
17.2.2 Ext.Direct的构成 / 828
17.2.3 RemotingProvider对象的具体工作流程 / 829
17.2.4 PollingProvider对象的具体工作流程 / 838
17.3 配置Ext.Direct的使用环境 / 839
17.3.1 概述 / 839
17.3.2 .NET环境的配置 / 839
17.3.3 Java环境的配置 / 842
17.4 使用Ext.Direct / 846
17.4.1 概述 / 846
17.4.2 使用DirectProxy及进行CURD操作 / 846
17.4.3 使用Ext.Direct实现树的动态加载及节点维护 / 854
17.4.4 使用DirectLoad为表单加载数据 / 858
17.4.5 使用DirectSubmit提交表单及使用Session / 863
17.4.6 使用Ext.Direct上传文件 / 866
17.4.7 使用PollingProvider对象 / 868
17.4.8 错误处理 / 871
17.5 本章小结 / 872
第18章 动画功能 / 873
18.1 动画功能的构成及工作流程 / 873
18.1.1 概述 / 873
18.1.2 动画功能的工作流程:Ext.fx.Anim / 874
18.1.3 分步动画的工作流程:Ext.fx.Animator / 877
18.2 使用动画 / 880
18.2.1 由最简单的动画开始 / 880
18.2.2 过渡效果使用的功能函数介绍 / 880
18.2.3 使用分步动画 / 882
18.2.4 注意的问题 / 883
18.3 在Element对象中使用动画 / 883
18.4 本章小结 / 888
第19章 拖放功能 / 889
19.1 拖放功能的构成及工作流程 / 889
19.1.1 概述 / 889
19.1.2 DragDropManager对象的工作流程 / 891
19.1.3 注册节点:Ext.dd.Registry / 893
19.1.4 一般拖动功能的工作流程:Ext.dd.DD / 894
19.1.5 DragSource对象的工作流程 / 897
19.1.6 DropTarget对象的工作流程 / 898
19.1.7 DragZone对象的工作流程 / 899
19.1.8 DropZone对象的工作流程 / 899
19.2 使用拖放功能 / 899
19.2.1 最简单的拖动效果 / 899
19.2.2 使用DragSource对象与DropTarget对象 / 900
19.2.3 使用DragZone对象与DropZone对象(使用Registry对象) / 902
19.2.4 使用DragZone对象与DropZone对象(不使用Registry对象) / 903
19.2.5 通过拖动实现节点排序 / 904
19.2.6 使用GridViewDropZonePlugin插件 / 905
19.2.7 使用TreeViewDragDropPlugin插件 / 907
19.2.8 关于Grid和Tree拖动后的数据保存问题 / 910
19.3 本章小结 / 910
第20章 扩展与插件 / 911
20.1 扩展与插件的区别 / 911
20.2 扩展与插件如何选择 / 911
20.3 如何编写扩展 / 911
20.3.1 命名空间 / 911
20.3.2 定义扩展 / 912
20.3.3 定义别名 / 912
20.3.4 定义备用名 / 912
20.3.5 要求加载的类:requires与uses / 912
20.3.6 混入功能 / 913
20.3.7 构造函数与initComponent方法 / 913
20.3.8 静态属性和方法与单件模式 / 913
20.3.9 可自动生成set和get方法的属性与initConfig方法 / 914
20.3.10 在扩展中常用的方法 / 914
20.3.11 编写扩展:TreeComboBox / 914
20.4 如何编写插件 / 920
20.4.1 概述 / 920
20.4.2 AbstractPlugin对象 / 921
20.4.3 插件的别名 / 921
20.4.4 编写插件:RowColor / 922
20.5 扩展和插件介绍 / 923
20.5.1 概述 / 923
20.5.2 本地分页代理:Ext.ux.data.PagingMemoryProxy / 923
20.5.3 标签滚动菜单:Ext.ux.TabScrollerMenu / 925
20.5.4 编辑器TinyMCE / 926
20.6 本章小结 / 928
第21章 主题开发 / 929
21.1 准备工作 / 929
21.1.1 安装Ruby / 929
21.1.2 安装Compass / 930
21.1.3 SASS介绍 / 931
21.2 为Ext JS 4创建新主题 / 933
21.2.1 概述 / 933
21.2.2 目录结构 / 933
21.2.3 修改配置 / 933
21.2.4 编译 / 935
21.2.5 测试主题 / 935
21.3 通过ui配置项设置组件样式 / 937
21.4 本章小结 / 937
第22章 MVC应用架构 / 938
22.1 MVC应用架构的构成及工作流程 / 938
22.1.1 构成 / 938
22.1.2 控制器的工作流程:Ext.app.Controller / 938
22.1.3 Application对象的工作流程 / 940
22.2 一步一步实现MVC框架 / 942
22.2.1 概述 / 942
22.2.2 创建目录 / 942
22.2.3 创建首页 / 942
22.2.4 创建启动脚本:app.js / 943
22.2.5 定义登录对话框 / 944
22.2.6 创建应用脚本:Application.js / 948
22.2.7 创建Viewport视图 / 949
22.2.8 菜单视图及控制器 / 950
22.2.9 实现订单管理 / 952
22.2.10 实现产品管理 / 958
22.2.11 示例效果 / 969
22.3 本章小结 / 970
附录 简写类名与Ext JS类名对照表 / 971


微信扫一扫关注公众号

0 个评论

要评论图书请先登录注册

你也许想看:

OS X and iOS Kernel Programming

《OS X and iOS Kernel Programming》

Ole Henry Halvorsen,Douglas Clarke.Apress.2011-12-16

“OS X and iOS Kernel Programming combines essential operating...”

Swifter : 100 个 Swift 开发必备 Tip

《Swifter : 100 个 Swift 开发必备 Tip》

王巍 著.电子工业出版社.

“作者赴美参加了Apple 的WWDC 14,亲眼见证了Swift 的发布,并从这门语言正式诞生的第一分钟就开始学习和钻研...”

实战Java高并发程序设计

《实战Java高并发程序设计》

葛一鸣,郭超.电子工业出版社.2015-11

“在过去单核CPU时代,单任务在一个时间点只能执行单一程序,随着多核CPU的发展,并行程序开发就显得尤为重要。 《实战Ja...”

深入理解LINUX网络内幕

《深入理解LINUX网络内幕》

Christian Benvenuti.东南大学出版社.2006-5

“本书系统地阐述了网络的基本概念,并指导你如何用C语言实现。同时描述了Linux网络的全貌,解释了Linux代码是如何工作...”

简约之美

《简约之美》

[美] Max Kanat-Alexander.人民邮电出版社.2013-1

“《简约之美:软件设计之道》将软件设计作为一门严谨的科学,阐述了开发出优雅简洁的代码所应该遵循的基本原则。作者从为什么以前...”

Advance Bash-Scripting Guide

《Advance Bash-Scripting Guide》

Mendel Cooper..

“此书是开源的,html版本:http://www.tldp.org/LDP/abs/html/ PDF版本:http:/...”

超越 Java

《超越 Java》

(美)泰特.东南大学.2007-1

“Java的存在时间已经超过10年了,在这段时间里它的成就非凡,彻底改变了我们写软件的方法和想法。但是Java已显老态,该...”

Head First Object-Oriented Analysis and Design

《Head First Object-Oriented Analysis and Design》

Brett D. McLaughlin,Gary Pollice,Dave West.O'Reilly Media.2006-12-4

“"Head First Object Oriented Analysis and Design" is a refres...”

500 Lines or Less

《500 Lines or Less》

Amy Brown,Michael DiBernardo..2016-6-28

“This book provides you with the chance to study how 26 exper...”

Is Parallel Programming Hard, And, If So, What Can You Do About It?

《Is Parallel Programming Hard, And, If So, What Can You Do About It?》

Paul E. McKenney..

“The purpose of this book is to help you understand how to pr...”

D程序设计语言

《D程序设计语言》

[美] Andrei Alexandrescu.人民邮电出版社.2013-6

“D语言是一种通用的系统和应用编程语言,它保持了生成高效代码以及直接访问操作系统API和硬件的能力。《D程序设计语言》是一...”

Learning Android

《Learning Android》

Marko Gargenta.O'Reilly Media.2011-3-28

“If you're new to the Android mobile operating system, Learni...”

.NET本质论 第1卷:公共语言运行库

《.NET本质论 第1卷:公共语言运行库》

博克斯 (BoxDon).中国电力出版社.2004-1

“本书由10章组成,探讨了CLR即公共语言运行库,涵盖了基本类型、实例、方法调用和消息、AppDomain、安全、以及CL...”

逆向工程实战

《逆向工程实战》

[美] Bruce Dang,[法] Alexandre Gazet,[美] Elias Bachaalany,[法] Sébastien Josse.人民邮电出版社.2015-8

“本书是一本涵盖x86、x64和ARM操作系统的逆向工程类图书,由浅入深地讲解了包括Windows内核模式代码的恶意软件和...”

深入理解Net-SNMP

《深入理解Net-SNMP》

张春强.机械工业出版社.2015-8-1

“全书一共15章,分为3个部分:基础篇(第1~6章)介绍了网络管理框架、简单网络管理协议、抽象语法标记、管理信息结构、管理...”

The Craft of Text Editing

《The Craft of Text Editing》

Craig A. Finseth.Springer-Verlag.1991-10

“Never before has a book been published that describes the te...”

R Packages

《R Packages》

Hadley Wickham.O'Reilly Media.2015-4-16

“Packages are the fundamental units of reproducible R code. T...”

LINQ实战

《LINQ实战》

Fabrice Marguerie,Steve Eichert,Jim Wooley.人民邮电出版社.2009-07

“LINQ是微软.NET软件开发平台上的一项突破性创新技术,它在面向对象语言与各种数据源之间架设了一座高效的桥梁,大大降低...”

The Definitive Guide to Drupal 7

《The Definitive Guide to Drupal 7》

Benjamin Melancon,Allie Micka,Amye Scavarda,Benjamin Doherty,Bojhan Somers,Jacine Rodriguez,Karoly Negyesi,Moshe Weitzman,Roy Scholten,Ryan Szrama,Sam Boyer,Stephane Corlosquet,Amanda Miller-Johnson,Andrew Grice,Dan Hakimzadeh.APRESS.2011-5-11

“The Definitive Guide to Drupal 7 is the most comprehensive b...”

SharePoint 2013 开发入门经典

《SharePoint 2013 开发入门经典》

Steve Fox,Chris Johnson,Donovan Follette.清华大学出版社.2014-9-1

“作为功能丰富的开发平台,SharePoint 2013相对以往版本有更进一步的增强。对于初学者,本书是开始体验Share...”