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 相关文章推荐
filemanage功能中用到的lib.js
Apr 08 Javascript
用js写了一个类似php的print_r输出换行功能
Feb 18 Javascript
jquery批量控制form禁用的代码
Aug 06 Javascript
使用GruntJS构建Web程序之安装篇
Jun 04 Javascript
JavaScript变量声明详解
Nov 27 Javascript
基于JavaScript操作DOM常用的API小结
Dec 01 Javascript
图文详解JavaScript的原型对象及原型链
Aug 02 Javascript
深入分析node.js的异步API和其局限性
Sep 05 Javascript
JavaScript闭包和范围实例详解
Dec 19 Javascript
javascript中如何判断类型汇总
May 14 Javascript
JS工厂模式开发实践案例分析
Oct 17 Javascript
原生Vue 实现右键菜单组件功能
Dec 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
第4章 数据处理-php数组的处理-郑阿奇
2011/07/04 PHP
php命名空间学习详解
2014/02/27 PHP
PHP三元运算的2种写法代码实例
2014/05/12 PHP
PHP实现对文件锁进行加锁、解锁操作的方法
2017/07/04 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
2017/11/10 PHP
PHP中创建和编辑Excel表格的方法
2018/09/13 PHP
制作特殊字的脚本
2006/06/26 Javascript
让iframe自适应高度(支持XHTML,支持FF)
2007/07/24 Javascript
nodejs的require模块(文件模块/核心模块)及路径介绍
2013/01/14 NodeJs
jQuery带箭头提示框tooltips插件集锦
2014/11/17 Javascript
javascript中的五种基本数据类型
2015/08/26 Javascript
JavaScript+html5 canvas绘制缤纷多彩的三角形效果完整实例
2016/01/26 Javascript
微信小程序 自己制作小组件实例详解
2016/12/22 Javascript
canvas 弹幕效果(实例分享)
2017/01/11 Javascript
JQueryEasyUI框架下的combobox的取值和绑定的方法
2017/01/22 Javascript
vue.js的安装方法
2017/05/12 Javascript
一个简易的js图片轮播效果
2017/07/22 Javascript
使用vue实现简单键盘的示例(支持移动端和pc端)
2017/12/25 Javascript
基于vue-resource jsonp跨域问题的解决方法
2018/02/03 Javascript
python使用7z解压软件备份文件脚本分享
2014/02/21 Python
Python实现的多线程http压力测试代码
2017/02/08 Python
Python环境搭建之OpenCV的步骤方法
2017/10/20 Python
python实现名片管理系统
2018/11/29 Python
Python Flask 搭建微信小程序后台详解
2019/05/06 Python
Flask框架学习笔记之路由和反向路由详解【图文与实例】
2019/08/12 Python
Python实现在线批量美颜功能过程解析
2020/06/10 Python
Python 实现劳拉游戏的实例代码(四连环、重力四子棋)
2021/03/03 Python
ALDI奥乐齐官方海外旗舰店:德国百年超市
2017/12/27 全球购物
DERMAdoctor官网:美国著名皮肤护理品牌
2019/07/06 全球购物
荷兰度假屋租赁网站:Aan Zee
2020/02/28 全球购物
销售经理岗位职责
2014/03/16 职场文书
个人委托书怎么写
2014/04/04 职场文书
新闻专业毕业生求职信
2014/08/08 职场文书
学习礼仪心得体会
2014/09/01 职场文书
党的群众路线批评与自我批评发言稿
2014/10/16 职场文书
WebRTC记录音视频流(web技术分享)
2022/02/24 Javascript