ExtJS4 表格的嵌套 rowExpander应用


Posted in Javascript onMay 02, 2014

今天做一个grid,里面的数据需要带明细,思来想去还是搞个表格嵌套吧!看下图
ExtJS4 表格的嵌套 rowExpander应用 

对于grid中每一条记录点击左边的+号能展开一个明细的子表格 所有数据包括列名均从后台获得,子表格的数据暂时在本地以做测试

在此贴一些代码留下记录

function displayInnerGrid(renderId) { //Model for the inside grid store 
Ext.define('TestModel', { 
extend: 'Ext.data.Model', 
fields: [ 
{ name: 'Field1' }, 
{ name: 'Field2' }, 
{ name: 'Field3' } 
] 
}); 
//dummy data for the inside grid 
var dummyDataForInsideGrid = [ 
['a', 'a', 'a'], 
['b', 'b', 'b'], 
['c', 'c', 'c'] 
]; 
var insideGridStore = Ext.create('Ext.data.ArrayStore', { 
model: 'TestModel', 
data: dummyDataForInsideGrid 
}); 
innerGrid = Ext.create('Ext.grid.Panel', { 
store: insideGridStore, 
selModel: { 
selType: 'cellmodel' 
}, 
columns: [ 
{ text: "明细1", dataIndex: 'Field1' }, 
{ text: "明细2", dataIndex: 'Field2' }, 
{ text: "明细3", dataIndex: 'Field3' } 
], 
columnLines: true, 
autoWidth: true, 
autoHeight: true, 
//width: 400, 
//height: 200, 
frame: false, 
// iconCls: 'icon-grid', 
renderTo: renderId 
}); 
/* innerGrid.getEl().swallowEvent([ 
'mousedown', 'mouseup', 'click', 
'contextmenu', 'mouseover', 'mouseout', 
'dblclick', 'mousemove' 
]); */ 
} 

function destroyInnerGrid(record) { 
var parent = document.getElementById(record.get('id')); 
var child = parent.firstChild; 
while (child) { 
child.parentNode.removeChild(child); 
child = child.nextSibling; 
} 
}

grid_huizong.view.on('expandBody', function (rowNode, record, expandRow, eOpts) { 
//console.log(record.get('id')); 
displayInnerGrid(record.get('id')); 
}); grid_huizong.view.on('collapsebody', function (rowNode, record, expandRow, eOpts) { 
destroyInnerGrid(record); 
});

以上代码为grid绑定事件。。具体代码啥意思应该能看懂

注意在定义grid的时候使用

plugins: [{ 
ptype: 'rowexpander', 
rowBodyTpl : [ 
'<div id="{id}">', 
'</div>' 
] 
}],

这个是rowexpander插件。。网上有人说用的时候需要引用,但是我没引用什么也可以用了?

注意上面三段代码中关键的id,这个id你可以改,但是需要改成后台发过来的数据中fields中的第一项。。我这个例子后台发过来的fields第一项是id

Javascript 相关文章推荐
脚本安需导入(装载)的三种模式的对比
Jun 24 Javascript
Javascript中 关于prototype属性实现继承的原理图
Apr 16 Javascript
js验证模型自我实现的具体方法
Jun 21 Javascript
js中单引号与双引号冲突问题解决方法
Oct 04 Javascript
js hover 定时器(实例代码)
Nov 12 Javascript
jquery实现增加删除行的方法
Feb 03 Javascript
微信开发之调起摄像头、本地展示图片、上传下载图片实例
Dec 08 Javascript
使用base64对图片的二进制进行编码并用ajax进行显示
Jan 03 Javascript
Jquery根据浏览器窗口改变调整大小的方法
Feb 07 Javascript
利用types增强vscode中js代码提示功能详解
Jul 07 Javascript
vue设计一个倒计时秒杀的组件详解
Apr 06 Javascript
vue实现div单选多选功能
Jul 16 Javascript
用json方式实现在 js 中建立一个map
May 02 #Javascript
jquery操作checkbox实现全选和取消全选
May 02 #Javascript
ExtJS4 动态生成的grid导出为excel示例
May 02 #Javascript
jQuery1.9.1针对checkbox的调整方法(prop)
May 01 #Javascript
jquery等待效果示例
May 01 #Javascript
js实现checkbox全选和反选示例
May 01 #Javascript
jquery插件之定时查询待处理任务数量
May 01 #Javascript
You might like
PHP学习之PHP运算符
2006/10/09 PHP
PHP获取用户的浏览器与操作系统信息的代码
2012/09/04 PHP
基于Laravel-admin 后台的自定义页面用法详解
2019/09/30 PHP
Jquery+ajax请求data显示在GridView上(asp.net)
2010/08/27 Javascript
Jquery Ajax的Get方式时需要注意URL地方
2011/04/07 Javascript
jQuery EasyUI API 中文文档 - Parser 解析器
2011/09/29 Javascript
js的压缩及jquery压缩探讨(提高页面加载性能/保护劳动成果)
2013/01/29 Javascript
JS Pro-深入面向对象的程序设计之继承的详解
2013/05/07 Javascript
alert中断settimeout计时功能
2013/07/26 Javascript
js获取当月最后一天实例代码
2013/11/19 Javascript
深入解析JavaScript中函数的Currying柯里化
2016/03/19 Javascript
angular.fromJson与toJson方法用法示例
2017/05/17 Javascript
JavaScript中offsetWidth的bug及解决方法
2017/05/17 Javascript
使用重写url机制实现验证码换一张功能
2017/08/01 Javascript
基于BootStrap的文本编辑器组件Summernote
2017/10/27 Javascript
Element UI框架中巧用树选择器的实现
2018/12/12 Javascript
深入了解query和params的使用区别
2019/06/24 Javascript
vue中beforeRouteLeave实现页面回退不刷新的示例代码
2019/11/01 Javascript
javascript实现前端分页功能
2020/11/26 Javascript
echarts浮动显示单位的实现方法示例
2020/12/04 Javascript
跟老齐学Python之??碌某?? target=
2014/09/12 Python
python fabric使用笔记
2015/05/09 Python
python 对象和json互相转换方法
2018/03/22 Python
python利用跳板机ssh远程连接redis的方法
2019/02/19 Python
python SQLAlchemy 中的Engine详解
2019/07/04 Python
Python requests获取网页常用方法解析
2020/02/20 Python
PyQt5+Pycharm安装和配置图文教程详解
2020/03/24 Python
在Mac中配置Python虚拟环境过程解析
2020/06/22 Python
印度尼西亚最大的电商平台:Tokopedia(印尼版淘宝)
2017/12/02 全球购物
铭万公司.net面试题笔试题
2014/07/20 面试题
上海微创软件面试题
2012/06/14 面试题
Filebeat 采集 Nginx 日志的方法
2021/03/31 Servers
Golang生成Excel文档的方法步骤
2021/06/09 Golang
浅谈redis整数集为什么不能降级
2021/07/25 Redis
SQL试题 使用窗口函数选出连续3天登录的用户
2022/04/24 Oracle
SQL Server2019安装的详细步骤实战记录(亲测可用)
2022/06/10 SQL Server