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中出现乱码的处理心得
Dec 24 Javascript
让低版本浏览器支持input的placeholder属性(js方法)
Apr 03 Javascript
JS实现网页右侧带动画效果的伸缩窗口代码
Oct 29 Javascript
JavaScript、jQuery与Ajax的关系
Jan 24 Javascript
javascript创建对象的3种方法
Nov 02 Javascript
Vue 动态设置路由参数的案例分析
Apr 24 Javascript
详解VScode编辑器vue环境搭建所遇问题解决方案
Apr 26 Javascript
vue 使用axios 数据请求第三方插件的使用教程详解
Jul 05 Javascript
详解使用JWT实现单点登录(完全跨域方案)
Aug 02 Javascript
layui字体图标 loading图标静止不旋转的解决方法
Sep 23 Javascript
React实现阿里云OSS上传文件的示例
Aug 10 Javascript
JS实现可以用键盘方向键控制的动画
Dec 11 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
回首过去10年中最搞笑的10部动漫,哪一部让你节操尽碎?
2020/03/03 日漫
从php核心代码分析require和include的区别
2011/01/02 PHP
模仿JQuery.extend函数扩展自己对象的js代码
2009/12/09 Javascript
汉化英文版的Dreamweaver CS5并自动提示jquery
2010/11/25 Javascript
jquery ajax例子返回值详解
2012/09/11 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(五)可移动地图的实现
2013/01/23 Javascript
js控制表单奇偶行样式的简单方法
2013/07/31 Javascript
基于javascript实现单选及多选的向右和向左移动实例
2015/07/25 Javascript
JS模拟按钮点击功能的方法
2015/12/22 Javascript
深入浅出ES6新特性之函数默认参数和箭头函数
2016/08/01 Javascript
在windows上用nodejs搭建静态文件服务器的简单方法
2016/08/11 NodeJs
selenium 与 chrome 进行qq登录并发邮件操作实例详解
2017/04/06 Javascript
聊聊JavaScript如何实现继承及特点
2017/04/07 Javascript
JS获取一个表单字段中多条数据并转化为json格式
2017/10/17 Javascript
vue2.0学习之axios的封装与vuex介绍
2018/05/28 Javascript
jQuery实现获取动态添加的标签对象示例
2018/06/28 jQuery
Vue加载json文件的方法简单示例
2019/01/28 Javascript
微信小程序传值以及获取值方法的详解
2019/04/29 Javascript
vue实现数字动态翻牌的效果(开箱即用)
2019/12/08 Javascript
js实现简单的随机点名器
2020/09/17 Javascript
[35:44]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG
2014/05/26 DOTA
[01:08]DOTA2“血战之命”预告片
2017/08/12 DOTA
python网络编程之文件下载实例分析
2015/05/20 Python
详解Python装饰器由浅入深
2016/12/09 Python
Python实现的文本编辑器功能示例
2017/06/30 Python
Python wxPython库消息对话框MessageDialog用法示例
2018/09/03 Python
Python代码实现删除一个list里面重复元素的方法
2019/04/02 Python
Python如何批量获取文件夹的大小并保存
2020/03/31 Python
护士实习生自我鉴定范文
2013/12/10 职场文书
顶撞老师检讨书
2014/02/07 职场文书
大学生学习计划书
2014/09/15 职场文书
工作失职检讨书(精华篇)
2014/10/15 职场文书
毕业生就业推荐表导师评语
2014/12/31 职场文书
辩论会主持词
2015/07/03 职场文书
公司劳动纪律管理制度
2015/08/04 职场文书
MySQL 隔离数据列和前缀索引的使用总结
2021/05/14 MySQL