前言 若干年前,使用Ext JS 3 开发了一个系统. 随着Ext JS 4的出现,总是会看到或听到关于Ext 比较多的言论是 : Ext JS 4 较Ext JS 3 有较大的改变. Ext JS 4不向下兼容. Ext JS 4 开始收费了. 基于这些,对Ext JS 4一直就望而却步.也曾转向使用dojo. 但是对Ext JS 4 的新的平板风格和一些性能上的考量之后,还是决定使用Ext js 4. 在升级结束之际,总结一些主要的改变和应对之策. 创建组件方法 new Ext.XXX ==…
前言 [Ext JS 4] 布局之实战一 - 中间区块不会自动伸展 (tab) 在上一篇中,中间的tab 区块无法自动伸展的原因一句话说就是: 使用contentEL的方式,相关HTML元素不会参与组件使用的布局方案. 但是在实际的开发过程中, 有时后这种方式可能无法避免, 或者说已经开发的代码,如何最简单的修正这个问题. 解决方法 利用center 区块的resize 事件可以解决这个问题. 因为在左边收合时,会触发center 区块的resize. 贴代码: <html> <head…
JavaScript不需要编译即可运行,这让JavaScript构建的应用程序可以变得很灵活.我们可以根据需要动态从服务器加载JavaScript脚本来创建和控制UI来与用户交互.下面结合Ext JS来说明如何从服务器上动态加载JS脚本来动态创建窗体. 1 项目结构: 项目结构如下:其中GetJSUI一般处理程序用来从数据库表中抓取UI配置,并返回到客户端:Contents文件夹下用HTML文件和JS库等. 2 数据库表结构 可以用下面的SQL在MSSQL中创建表,其中JavaScriptCon…
引言 贴一个grid 的例子先: 有这样一个需求: 1. 给 Grid(or Tree Grid)添加一列, 这一列显示是Button. 点击之后可以对这一行进行一些操作 2. 这一列每一行对应的按钮不尽相同, 根据每一行的数据不同,显示的按钮不同,对应的点击操作也不同. 解法 针对以上需求1 , 很容易就可以解决. Ext JS 的Grid 有提供 Ext.grid.column.ActionView   xtype: actioncolumn 这样的列. 只需要在grid panel 的co…
概述 在Ext JS中.包括两类布局:组件类布局和容器类布局.由于有些组件是有不同的组件组合而成的,如字段就由标题和输入框构成,他们之间也是存在布局关系的,而这就须要组件类布局来处理组件内自己特有的布局关系. 假设我们不定义自己的组件,基本不须要使用到组件布局,知道即可了. 本文主要介绍的是容器类布局,由于这个在开发中是必然会使用到的. 注意:在Ext JS中,字段有两层意思.在模型中所说的字段.与数据库中的字段的意义是一样.字段的第二层意思是指表单中的输入组件,这个大家要注意区分. 自己主动布…
前言 本篇这里以稍微复杂一点的Tree Grid 来介绍. 在写编辑grid 之, 先来看一下 grid 的 selType 的配置. 先给一个简单的Tree grid 的例子: Ext.onReady(function(){ var treeStore = Ext.create('Ext.data.TreeStore', { fields: ['id','name','sex','age'], root:{ "children":[{id:'001',name:'shu',sex:'…
Ext JS中Button按钮的显示,以及按钮的部分事件 一.属性 renderTo:将当前对象所生成的HTML对象存放在指定的对象中 text:得到按钮名称 minWidth:按钮最小宽度 hidden:按钮的隐藏或显示(true or false) 二.构造参数 handler:指定一个函数句柄,在默认事件触发时调用,此时在默认事件为click listeners:在对象初始化之前,将一系列事件进行绑定. 三.函数 getBogy():对到Body对象 onReady():当页面加载完成时执…
前言 分页功能的实现有两种途径: 一种是服务端分页方式, 也就是web客户端传递页码参数给服务端,服务端根据页面参数返回指定条数的数据.也就是要多少取多少.这种方式比较适合Grid  的数据量很大,需分批取. 另一种是客户端分页方式, 一次性从服务端取回所有的数据在客户端这边实现分页.这种自然适合数据量较少的状况,减少和服务端的交互, 对性能有一些帮助.这种方式还有一种好处就是对于初学Ext JS Grid 或分页功能比较简单和直观了. Ext 目前的官方文档中,对于客户端分页的方式介绍和实例不…
一般的优化技巧 1. 检查你定义的时间监听器 正确的设置事件监听器对性能会有很大的影响. 举例来说, 在定义一个store的时候,设置一个load 的事件去触发从后台读取数据,如果设置single 的值为true的话,则load的事情就只有在第一次取数据的时候会触发了. listeners: { load: onFirstLoadData, single: true } 给一个完整的例子: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Trans…
前言 所谓的picker , 就是弹出一个选择框,让你选择一些信息.比如选择日期, 选择颜色等: 选择的结果总是要放在一个地方的,Picker Field 就是用来放置选择结果的一个文本框. 在Ext js中综合起来使用的方式就是, 在 form 里添加一个picker 类型的 field, 这个field比较特殊的是有一个点击按钮, 点击之后可以弹出一个选择框, 在选择框里选中的值添入filed 中. Ext JS 中的Picker Ext JS 目前的版本有三种选择器 1. Date  (E…