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 相关文章推荐
javascript 变量作用域 代码分析
Jun 26 Javascript
json数据与字符串的相互转化示例
Sep 18 Javascript
JavaScript子类用Object.getPrototypeOf去调用父类方法解析
Dec 05 Javascript
jQuery垂直多级导航菜单代码分享
Aug 18 Javascript
JS代码防止SQL注入的方法(超简单)
Apr 12 Javascript
AngularJS包括详解及示例代码
Aug 17 Javascript
Vue.js学习笔记之修饰符详解
Jul 25 Javascript
详解npm 配置项registry修改为淘宝镜像
Sep 07 Javascript
详解webpack4之splitchunksPlugin代码包分拆
Dec 04 Javascript
atom-design(Vue.js移动端组件库)手势组件使用教程
May 16 Javascript
javascript 易错知识点实例小结
Apr 25 Javascript
js实现上传按钮并显示缩略图小轮子
May 04 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
建立动态的WML站点(三)
2006/10/09 PHP
PHP异常处理浅析
2015/05/12 PHP
php简单实现文件或图片强制下载的方法
2016/12/06 PHP
phpstorm 配置xdebug的示例代码
2019/03/31 PHP
thinkphp5.1 框架钩子和行为用法实例分析
2020/05/25 PHP
没有document.getElementByName方法
2013/08/19 Javascript
Vue.js每天必学之方法与事件处理器
2016/09/06 Javascript
HTML页面定时跳转方法解析(2种任选)
2016/12/22 Javascript
基于bootstrap实现多个下拉框同时搜索功能
2017/07/19 Javascript
引入JavaScript时alert弹出框显示中文乱码问题
2017/09/16 Javascript
Three.js利用Detector.js插件如何实现兼容性检测详解
2017/09/26 Javascript
微信小程序自定义底部导航带跳转功能
2018/11/27 Javascript
Node.js net模块功能及事件监听用法分析
2019/01/05 Javascript
[01:02:25]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS VG
2014/05/25 DOTA
[43:47]完美世界DOTA2联赛PWL S3 LBZS vs Phoenix 第一场 12.09
2020/12/11 DOTA
Python中关键字nonlocal和global的声明与解析
2017/03/12 Python
python写一个md5解密器示例
2018/02/23 Python
TensorFlow数据输入的方法示例
2018/06/19 Python
python交互模式下输入换行/输入多行命令的方法
2019/07/02 Python
Python笔记之facade模式
2019/11/20 Python
Python视频编辑库MoviePy的使用
2020/04/01 Python
Python xlwt模块使用代码实例
2020/06/10 Python
使用CSS3来制作消息提醒框
2015/07/12 HTML / CSS
发现世界上最好的珠宝设计师:JewelStreet
2017/12/17 全球购物
Maison Lab荷兰:名牌Outlet购物
2018/08/10 全球购物
娇韵诗香港官网:Clarins香港
2020/08/13 全球购物
学生自我鉴定范文
2013/10/04 职场文书
室内设计专业个人的自我评价
2013/12/18 职场文书
先进班级集体事迹材料
2014/01/30 职场文书
党员评议思想汇报
2014/10/08 职场文书
教师作风建设剖析材料
2014/10/11 职场文书
2015年学生会主席工作总结
2015/04/21 职场文书
企业党支部工作总结2015
2015/05/21 职场文书
2016年度优秀辅导员事迹材料
2016/02/26 职场文书
浅谈Web Storage API的使用
2021/06/23 Javascript
vite+vue3.0+ts+element-plus快速搭建项目的实现
2021/06/24 Vue.js