ExtJS扩展:扩展grid】的更多相关文章

ExtJS 4.2 Grid组件本身并没有提供单元格合并功能,需要自己实现这个功能. 目录 1. 原理 2. 多列合并 3. 代码与在线演示 1. 原理 1.1 HTML代码分析 首先创建一个Grid组件,然后查看下的HTML源码. 1.1.1 Grid组件 1.1.2 HTML代码 从这些代码中可以看出,Grid组件可分为grid-header和grid-body 两块区域(若含有工具栏和分页栏,它们都会含有各自的独立区域). 其中grid-body包含了许多tr元素,每一个tr都是代表Gri…
1.extends 2.initComponent 3.constracot: 4.onRender:重新写这个方法 ============================================================= ExtJS核心: 1.与后台交互: Store(本质就是发出Ajax请求,之后把返回的数据存在store里面的data属性里面) 2.UI组件 与store进行绑定 tpl数据展现模板(自定义) 3.owner以及EL组件获取,doLayout重新构建DOM…
上次发了Easyui Datagrid的增删改查的使用学习记录后一直想整理下基于Extjs4.2的Grid学习使用记录.苦于抽不出时间,一直拖到现在.不得不说,Extjs确实很强大,新版的Neptune风格也很入我眼,但毕竟没怎么用过,第一次用,也不敢上来就搞什么自定义组件,也就纯粹的model+store+panel声明式创建表格了. 抛开分页,抛开排序,今天只简单讲一下最近使用中总结出来的rest形式增删改查数据的方式.发现这种方式挺不错的,故而分享下.代码Example如下: 定义Mode…
最近由于业务需要,研究了一下Sencha ExtJS 6 ,虽然UI和性能上据相关资料说都有提升,但是用起来确实不太顺手,而且用Sencha cmd工具进行测试和发布,很多内部细节都是隐藏的,出了问题不好跟踪.更奇葩的是明明在sencha app watch上运行很好,但是sencha app build后会出现异常.即使是这样,但Sencha ExtJS 6 在UI控件和编程模式上确实比较强大.下面介绍一个 Widget Grid 用法,可以在表格grid中进行列样式渲染,是一个比较强大的功能…
首先说明一下,PHP扩展有两种编译方式:方式一:在编译PHP时直接将扩展编译进去方式二:扩展被编译成.so文件,在php.ini里配置加载路径: 以下开始说明创建PHP扩展并编译的步骤:下载PHP源码,并解压,在源码的根目录下开始操作,1. 使用ext_skel生成扩展框架,如下: ➜ php- cd ~/Downloads/tmp/php- ➜ php- cd ext ➜ ext ./ext_skel --extname=myfirstext ext_skel在执行后,会提示开发者后续的操作步…
我是在ubuntu14.14 安装的 lnmp. 部分扩展.均已安装好,但是我用apt-get 方式安装 redis和curl扩展时,我的配置都设置但是从phpinfo里面看没有响应的配置项. 于是我找在我phpinfo 加载的是 /etc/php5/fpm/php.ini 下的配置文件,我用php -i 命令和 php -m 看到我加载的配置都是cli下面的.在etc/php5/fpm/php.ini 配置好后,我重启fpm,用sudo /etc/init.d/php5-fpm restart…
一.基本操作步骤 var cm=new Ext.grid.ColumnModel([ //对列的定义,cm是它的简写,作为真个表格的列模式,需要首先创建的{header:'编号',dataIndex:'id',sortable:true}, //header是表的首部显示文本.dataIndex是列对应的记录集字段,sortable表示列是否可排序,可能还会用到的参数:renderer列的渲染函数,format格式化信息 {header:'名称',dataIndex:'name'},{heade…
表格说明 Ext中的表格功能非常强大,包括排序.缓存.拖动.隐藏某一列.自动显示行号.列汇总.单元格编辑等实用功能.表格由类Ext.grid.GridPanel定义,继承自Ext.Panel,其xtype为grid.在EXT中,表格控件必须包含列定义信息,并指定表格的数据存储器.表格数据最起码有列.数据.转换原始数据这3项.列信息由数组columns定义,表格的数据存储器由Ext.data.Store来定义.store负责把各种各样(如二维数组.JSON对象数组.XML文本等)的原始数据转换成E…
背景 分页查询在Web页面中比例很大,我自己也写过分页框架,也用过很多第三方分页. 基于jquery的dataTables,那么多例子.清晰API.应用广泛.开源,即使是新手也可以很快上手. ExtJS的分页功能,封装的很简单,因其例子少.API复杂.国内应用较少,往往需要先对ExtJS有整体认识.孰知API之后,才应用自如.感觉比较不易,以至于一个简单的分页功能我也想写下来. 例子 ExtJS版本:4.2 我认为ExtJS也有MVC分层概念,所以接下来会分展示层.数据模型层来描述. 展示层(v…
今天遇到grid复制的问题,在网上找到了一个解决办法,只需改下CSS和JS,给大家分享一下: 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/dy_paradise/archive/2010/01/19/5212389.aspx Ext.grid.GridPanel有一个重大缺陷,就是单元格的内容不能选中,没法选中就没法复制,给用户带来很多不便. 分析:用IE Developer Toolbar打开ExtJs输出的代码研究了一下,发现每个单元格的div都有一个属性…
使用Eclipse的朋友都知道Eclipse是一个完全可扩展的IDE,那么在windows程序开发时,我们常使用的IDE(Visual studio)是否具有功能的扩展性呢?毫无疑问,回答是肯定的.我们经常使用的的VA就是一个典型的VS扩展插件,那么VS的扩展机制能做什么呢? VS功能扩展 添加UI元素,比如菜单项,窗口 扩展编辑器和编译器去分析你的代码 扩展VS在线和TFS(Team Foundation Server)去分析信息和管理开发流程或整合外部扩展服务 整合一个新的编译器和项目类型,…
今天在家休息,年假不用就作费啊. 看了几部香港老电影,陪爸爸看了勇士占奇才, 然后,测试了一下EXTJS未完的内容, 在京东上订了七本历史普及书,近两百块..:) 搞定. <!DOCTYPE html> <html> <head> <title>ExtJs</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"…
1.扩展运算符[三个点(...)将一个数组转为用逗号分隔的参数序列] 作用:用于函数调用 function add(x, y) { return x + y; } const numbers = [2, 6]; add(...numbers) // 8 8 2....作用[求最大值/拼接数组/复制数组(a2复制a1,改a2不改变a1)/合并数组/将字符串转化为真正的数组] 求最大值 拼接数组 复制数组(a2复制a1,改a2不改变a1) 合并数组 将字符串转化为真正的数组 (1)最大值 Math.…
1.复制对象:使用扩展运算符复制对象时是浅拷贝 //复制对象:使用扩展运算符复制对象时是浅拷贝 const obj1 = { a:1, b:2, d:{ aa:1, bb:2 } } const obj2 = { c:3, a:9 } const cObj1 = {...obj1}; console.log(cObj1.d.aa); //1 cObj1.d.aa = 999; console.log(cObj1.d.aa); //999 console.log(obj1.d.aa); //999…
试过Grid自带的load和分页功能,没有成功,干脆就自己写了...... 主要是查询条件比较复杂...... 希望哪位大神能有更好的意见. Ext.define('MyApp.ux.Pagination', { extend: 'Ext.Toolbar', // 调用时用此名称 alias: 'Pagination', autoDestroy : true, items : ['->',{ // 用于记录查询条件 xtype : 'displayfield', itemId : 'objInP…
var grid=Ext.getCmp("GridPanel1"); var store = grid.getStore(); Ext.Ajax.request({ url:"server/grid.json", params:{}, success:function(response, option){ grid.setStore( Ext.JSON.decode(response.responseText) ); } } ); 自己下载json文件 setSto…
//创建普通表格 id,父容器,标题,json数据字符串,列名(逗号分隔),json数据key即store的fields属性(逗号分隔) function createCommonTable(id, container, fieldLabel, value, columns,dataIndexs) { if(typeof(container)!="object") { container=Ext.getCmp(container); //根据id取组件 } var rarr = col…
添加一个新的功能 Ext.grid.PageRowNumberer = Ext.extend(Ext.grid.RowNumberer, { width : 40, renderer:function(value, cellmeta, record, rowIndex, columnIndex, store){ if(store.lastOptions.params!=null){ var pageindex=store.lastOptions.params.start; return page…
的 <script> Ext.onReady(function () { //1.定义Model Ext.define("MyApp.model.User", { extend: "Ext.data.Model", fields: [ { name: 'name', type: 'string' }, { name: 'age', type: 'int' }, { name: 'phone', type: 'string' } ] }); //2.创建s…
autoExpandColumn的作用是自动伸展,占满剩余区域.一般使用在列比较少,并且大多数列都比较窄,有一列比较宽的情况下,当然什么时候使用,还是得按照实际情况确定. 使用的时候主要有三点要注意的. 1.在Ext.grid.GridPanel这个里面一定不要添加viewConfig: {forceFit: true}配置项,加上viewConfig: {forceFit: true}不会报错,是因为forceFit设置为true的时候,autoExpandColumn会 被忽略 2.auto…
先看图: 页面js代码: var userStore=Ext.create('Ext.data.Store', { storeId:'userStore', fields:['uname', 'email', 'phone','regIp','regTime'], proxy: { type: 'ajax', url:'${pageContext.request.contextPath}/back/user/userList.do', reader: { // 設置 json樣式 type: '…
--renderers渲染器 可以格式化该列显示的数据格式或者按照你自定义的脚本显示最终数据样子 先看下renderer: function()里的参数 renderer:function(value, cellmeta, record, rowIndex, columnIndex, store){ } 1.value是当前单元格的值 2.cellmeta里保存的是cellId单元格id,id不知道是干啥的,似乎是列号,css是这个单元格的css样式. 3.record是这行的所有数据,你想要什…
(1)grid.getStore().getRange(0,store.getCount()); //得到grid所有的行 (2)grid.getSelectionModel().getSelections(); //得到选择所有行 注:如果不声明var sm = new Ext.grid.CheckboxSelectionModel();则会报此句没有该对象或属性 Var selectRows = grid.getSelectionModel().getSelections(); select…
var cmGoodsFee = new Ext.grid.ColumnModel([rmGoodsFee, { header : "id", tooltip : "id", dataIndex : 'id', id : 'id', width : 80, align : 'center', hidden : true }, { header : "计费类型", tooltip : "计费类型", dataIndex : 'c…
var records = me.grid.getSelectionModel().getSelection(); //获取所有选中的行 var record =records[0]; //获取选中行的第一行 var id = record .data.id //获取第一行的数据对象中的id属性…
<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8" /> <title></title> <!--这三条是最基础需要用到的三条--> //设置风格 <link href="extjs4.2/resourc…
最初的store写法: var store = Ext.create('Ext.data.Store', { model: 'PKU',//这个地方CarPKU不是一个对象,而是一个类 remoteSort: false, remoteFilter: true, pageSize: limitCarPKU, //页容量20条数据 method: 'POST', proxy: {//代理 type: 'ajax', url: '/Handler/PKUCarHandler.ashx?Func=PK…
      在前一篇文章我们扩展了grid通过选中记录数来禁用toolbar上的按钮,有时候我们需要通过记录中的数据来决定是否禁用按钮,今天我们就来扩展它.       照例,最新的代码和例子都在github上:ExtJsExtend       先看看使用代码(这里只有部分代码,可以结合前一篇文章来阅读或者直接通过github获取最新代码): .ln { color: rgb(0,0,0); font-weight: normal; font-style: normal; } .s0 { co…
今天发现公司产品用的EXTJS中使用Grid时,Grid表头中的全选复选框的选中状态不是很准确,就写了这个小扩展 在js中加入下面方法,在需要取消全选的地方调用即可,例:Ext.getCmp('grid').unSelectAll  或 gridName.unSelectAll();   // 自定义扩展:将Grid表头中的全选复选框取消复选 Ext.grid.GridPanel.prototype.unSelectAll = function(){ var view = this.getVie…
config.m4文件用于指定正在开发的扩展在类unix系统下构建时支持的选项,指定此扩展需要哪些库以及哪些源文件:使用 GNU autoconf 语法编写.注意需要重新执行phpize,config.m4的修改才会生效:在执行./configure时,所有的输出将记录到config.log里,通过查看此文件可以调试config.m4. 如何从零开始创建一个PHP扩展可以参见文章PHP扩展-扩展的生成和编译, config.m4文件常用的语句和宏 以下将以"myext"作为正在开发的扩…