ext grid 子表格
Ext.define('app.view.main.biz.customer.receipt.followup.FollowUpActionPanel', {
extend: 'Ext.grid.Panel',
border: false,
margin:'10 20 20 20',
hideHeaders: true,
columns: [{
flex : 1,
renderer: function (value, metaData, record, rowIndex) {
var page = "<table>" +
"<tr>" +
"<td><div style='padding-left:10px'>" + record.data.followUpName + "</div></td>" +
"<td><div style='padding-left:50px'>跟进日期:" + record.data.followUpDate + "</div></td>" +
"<td><div style='padding-left:50px'>跟进方式:"+record.data.followUpActionName+"</div></td>" +
"<td><div style='padding-left:50px'>跟进类型:"+record.data.followUptypeName+"</div></td>" +
"</tr>" +
"</table>";
return page;
}
}],
plugins: [{
ptype: 'rowexpander',
rowBodyTpl : new Ext.XTemplate( '<div id="{id}">', '</div>' )
}],
initComponent: function (config) {
var me = this;
var bar = Ext.apply(this, {
dockedItems :[{
xtype: 'toolbar',
dock: 'top',
overflowHandler: 'menu'
}],
store:Ext.create('app.view.main.biz.customer.receipt.followup.FollowUpMainPlanStore',{
autoLoad:true,
customerId:me.customerId,
trackId:me.trackId
}),
listeners:{
afterrender:function() {
me.getStore().load({
//默认展开所有。
callback:function() {
var expander = me.plugins[0];
var count = me.getStore().getCount()
for(var i = count-1; i >= 0; i--) {
expander.toggleRow(i,me.getStore().getAt(i));
}
}
})
}
}
});
this.callParent(arguments);
//注意先后顺序(一定要先渲染之后才能拿到这些值)
me.getView().on('expandBody', function(rowNode, record, expandRow, eOpts){
var parent = document.getElementById(record.get('id'));
if(!parent || !parent.hasChildNodes()) {
var innerGrid = Ext.create('app.view.main.biz.customer.receipt.followup.FollowUpCommentPanel', {
actionId: record.get('id'),
record: record,
renderTo: record.get('id')+''
});
innerGrid.getEl().swallowEvent([
'mousedown', 'mouseup', 'click',
'contextmenu', 'mouseover', 'mouseout',
'dblclick', 'mousemove', 'focusmove',
'focuschange', 'focusin', 'focusenter'
]);
}
});
me.getView().on('collapsebody',function(rowNode, record, expandRow, eOpts){
/*var parent = document.getElementById(record.get('id'));
if(!parent) return;
var child = parent.firstChild;
while (child) {
child.parentNode.removeChild(child);
child = child.nextSibling;
}*/
});
}
});
ext grid 子表格的更多相关文章
- ExtJs 学习之开篇(三)Ext.grid.Panel表格中的处理
Ext.grid.Panel Ext.create('Ext.grid.Panel',{ title:'测试表格', width:400, height:20 ...
- Ext.grid.Panel表格分页存储过程
/*首先需要引入两个Extjs插件类 Ext.ux.data.PagingMemoryProxy和Ext.ux.ProgressBarPager这两个类*/ /*下面是控制弹出窗体放大缩小时窗体居中的 ...
- Ext.grid.Panel表格分页
转载:http://www.cnblogs.com/libingql/archive/2012/04/22/2464994.html cshtml @{ Layout = null; } <!D ...
- ExtJs的Ext.grid.GridPanel不能选择复制表格中的内容解决方案
今天遇到grid复制的问题,在网上找到了一个解决办法,只需改下CSS和JS,给大家分享一下: 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/dy_paradise/a ...
- jqGrid subGrid配置 如何首次加载动态展开所有的子表格
有时候需求需要默认加载表格的时候把子表格的数据也显示出来,经过研究相关SubGrids API配置如下: 属性 类型 描述 默认值 subGrid boolean 设置为true启用子表格.如果启用子 ...
- Ext.grid.GridPanel属性及方法等
1.Ext.grid.GridPanel主要配置项:store:表格的数据集columns:表格列模式的配置数组,可自动创建ColumnModel列模式autoExpandColumn:自动充满表格未 ...
- Ext.grid.plugin.RowExpander的简单用法
有时候,我们在grid里渲染数据时,由于某些字段的内容太长,而grid又不会自动出现滚动条,于是溢出的内容后面就会出现省略号, 导致信息展示不完全.如果,这个信息不太重要,展示不完全也无关紧要.可是, ...
- Ext.grid.Panel 数据动态改变后刷新grid
gridPanel中加载的数据分为两种:一种是本地数据加载,那另一种就是后台数据加载. 在表格中增.删.改.查 是必不可少的. 那么数据动态改变后怎样刷新表格中的数据呢. 一.后台取数据 var gr ...
- Ext.grid.GridPanel的属性
1.Ext.grid.GridPanel 主要配置项: store:表格的数据集 columns:表格列模式的配置数组,可自动创建ColumnModel列模 ...
随机推荐
- android 点击屏幕关闭 软键盘
//点击屏幕 关闭输入弹出框 @Override public boolean onTouchEvent(MotionEvent event) { InputMethodManager im = (I ...
- 用eclipse导入jar包并使其在一个文件夹下
步骤如下:1.右键点击你需要添加jar包的项目. 2.选择“Properties”. 3.然后选择对话框中的“Java Build Path”. 4.选择“Libraries”选项卡,然后点击右边的“ ...
- php:Header
转自鸟哥的博客: http://www.laruence.com/2007/12/16/308.html PHP header()the function declaration: void head ...
- Memcached存储命令 - set
Memcached set 命令用于将 value(数据值) 存储在指定的 key(键) 中. 如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用. set 命 ...
- [译]git commit
git commit git commit命令提交stage区的快照到项目历史中去(HEAD). 被提交的快照被认为是一个项目的安全版本. Git不会修改他们, 除非你显示的要求了. 和git add ...
- [译]Node.js面试问与答
原文: http://blog.risingstack.com/node-js-interview-questions/ 什么是error-first callback? 如何避免无休止的callba ...
- 大数据BI积累
http://blog.csdn.net/wyzxg/article/category/535869 设计论文:http://www.doc88.com/p-3877368345851.html 自动 ...
- ACM2 斐波那契数列
描述 在数学上,斐波那契数列(Fibonacci Sequence),是以递归的方法来定义: F0 = 0 F1 = 1 Fn = Fn - 1 + Fn - 2 用文字来说,就是斐波那契数列由0和1 ...
- 下位机多个".c, .h"文件的相互包含及排版
一.背景: 自从接触单片机编程以来,由于工作上的需要,不可避免的时常会接手别人的代码,但常常由于上一位同事的编码随意性有点大,导致可读性非常的差,有时候不得不完全舍弃原有代码,推倒重来,无形中增加了工 ...
- 小心一些,断言可能让你的造成循环引用NSAssert
block和self的相互引用造成的循环引用,想必大家都是明白的.上下面的代码(截取部分) __weak typeof(self) weakSelf = self; self.jsBridgeFunc ...