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 相关文章推荐
jQeury淡入淡出需要注意的问题
Sep 08 Javascript
JS控制图片等比例缩放的示例代码
Dec 24 Javascript
js判断数据类型如判断是否为数组是否为字符串等等
Jan 15 Javascript
js调试系列 控制台命令行API使用方法
Jun 18 Javascript
Jquery异步提交表单代码分享
Mar 26 Javascript
解析javascript中鼠标滚轮事件
May 26 Javascript
PHP结合jQuery实现红蓝投票功能特效
Jul 22 Javascript
AngularJS基础 ng-keypress 指令简单示例
Aug 02 Javascript
在React中如何优雅的处理事件响应详解
Jul 24 Javascript
微信小程序之数据缓存的实例详解
Sep 29 Javascript
vue移动端监听滚动条高度的实现方法
Sep 03 Javascript
使用webpack搭建pixi.js开发环境
Feb 12 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
eWebEditor v3.8 商业完整版 (PHP)
2006/12/06 PHP
PHP管理内存函数 memory_get_usage()使用介绍
2012/09/23 PHP
php日期操作技巧小结
2016/06/25 PHP
Thinkphp5.0自动生成模块及目录的方法详解
2017/04/17 PHP
用PHP去掉文件头的Unicode签名(BOM)方法
2017/06/22 PHP
PHP有序表查找之二分查找(折半查找)算法示例
2018/02/09 PHP
网页右键ie不支持event.preventDefault和event.returnValue (需要加window)
2013/02/22 Javascript
jsp网页搜索结果中实现选中一行使其高亮
2014/02/17 Javascript
jquery 中的each()跳出循环的语句
2014/05/23 Javascript
javascript 10进制和62进制的相互转换
2014/07/31 Javascript
JS实现当前页居中分页效果的方法
2015/06/18 Javascript
javascript冒泡排序小结
2016/04/10 Javascript
Bootstrap零基础入门教程(三)
2016/07/18 Javascript
JavaScript实现DOM对象选择器
2016/09/24 Javascript
12306 刷票脚本及稳固刷票脚本(防挂)
2017/01/04 Javascript
node.js爬虫爬取拉勾网职位信息
2017/03/14 Javascript
node.js中实现kindEditor图片上传功能的方法教程
2017/04/26 Javascript
react-redux中connect()方法详细解析
2017/05/27 Javascript
浅谈React深度编程之受控组件与非受控组件
2017/12/26 Javascript
vue基础之使用get、post、jsonp实现交互功能示例
2019/03/12 Javascript
ES6入门教程之变量的解构赋值详解
2019/04/13 Javascript
Easyui 去除jquery-easui tab页div自带滚动条的方法
2019/05/10 jQuery
JavaScript对象原型链原理详解
2020/02/05 Javascript
解决Python 中英文混输格式对齐的问题
2018/07/16 Python
python的依赖管理的实现
2019/05/14 Python
Python读写文件模式和文件对象方法实例详解
2019/09/17 Python
临床医学专业个人的自我评价
2013/09/27 职场文书
协议书样本
2014/04/23 职场文书
课前三分钟演讲稿
2014/04/24 职场文书
经贸日语专业自荐信
2014/09/02 职场文书
颐和园的导游词
2015/01/30 职场文书
2015年新农村建设指导员工作总结
2015/07/24 职场文书
人民调解协议书
2016/03/21 职场文书
巧用 -webkit-box-reflect 倒影实现各类动效(小结)
2021/04/22 HTML / CSS
python调试工具Birdseye的使用教程
2021/05/25 Python
MySQL新手入门进阶语句汇总
2022/09/23 MySQL