![]() 作者:黄灯桥 出版社: 机械工业出版社 出版年: 2012-6-1 页数: 980 定价: 119.00元 装帧: 平装 ISBN: 9787111380634 内容简介 · · · · · ·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不难,难的是如... 作者简介 · · · · · ·黄灯桥(网名:上将军) 资深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 本书微群... 目录 · · · · · ·前 言第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章 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 · · · · · · () |
不一样的观点
还没看
给了我一个近乎完美的解释。
看以后要不要多看几遍,慢慢嚼。