ExtJS4 表格的嵌套 rowExpander应用_extjs

今天做一个grid,里面的数据需要带明细,思来想去还是搞个表格嵌套吧!看下图
 

对于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

时间: 2024-09-28 15:33:08

ExtJS4 表格的嵌套 rowExpander应用_extjs的相关文章

表格-datagrid嵌套datagrid

问题描述 datagrid嵌套datagrid 上面是我想要的最终结果的效果图. 图中分上下两个表格.现在这两个datagrid表格是相对独立的表格. 我想让这两个datagrid表格合并为一个,效果是上下显示. 这两个datagrid表格中的每个字段是不一样的. 解决方案 如何动态的嵌套DataGridDataGrid 嵌套DataList

Extjs根据条件设置表格某行背景色示例_extjs

话不多说,贴上代码 html代码: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <link rel="stylesheet" type="text/css" href="../extjs3

Dreamweaver8.0嵌套表格

表格之中还有表格即嵌套表格. 网页的排版有时会很复杂,在外部需要一个表格来控制总体布局,如果内部排版的细节也通过总表格来实现,容易引起行高列宽等的冲突,给表格的制作带来困难.其次,浏览器在解析网页的时候,是将整个网页的结构下载完毕之后才显示表格,如果不使用嵌套,表格非常复杂,浏览者要等待很长时间才能看到网页内容. 引入嵌套表格,由总表格负责整体排版,由嵌套的表格负责各个子栏目的排版,并插入到总表格的相应位置中,各司其职,互不冲突. 另外,通过嵌套表格,利用表格的背景图像.边框.单元格间距和单元格

HTML表格嵌套

  在页面中,排版是通过表格的嵌套来完成的.即一个表格内部可以套入另一个表格.原因如下: 首先,网页的排版会很复杂,在外部需要有一个表格控制总体布局.如果这时一些内部排版的细节也通过总表格来实现,容易引起行高列宽等的冲突,给表格制作带来困难. 其次,浏览器在解析网页的时候,是将整个表格的结构下载完毕之后才显示表格.如果不使用嵌套,表格非常复杂,浏览者要等待很长时间才能看到网页的内容. 出于这些原因,引入嵌套表格.由总表格负责整体的排版,由嵌套的表格负责各个子栏目的排版,并插入到总表格的相应位置中

HTML教程:制作表格嵌套

        在页面中,排版是通过表格的嵌套来完成的.即一个表格内部可以套入另一个表格.原因如下: 首先,网页的排版会很复杂,在外部需要有一个表格控制总体布局.如果这时一些内部排版的细节也通过总表格来实现,容易引起行高列宽等的冲突,给表格制作带来困难. 其次,浏览器在解析网页的时候,是将整个表格的结构下载完毕之后才显示表格.如果不使用嵌套,表格非常复杂,浏览者要等待很长时间才能看到网页的内容. 出于这些原因,引入嵌套表格.由总表格负责整体的排版,由嵌套的表格负责各个子栏目的排版,并插入到总表格

教程/dreamweaver/入门 Dreamweaver 4 简明教程11(表格的使用)

dreamweaver|教程 表格的使用之二 根据上面对表格和单元格的参数,我们可以做出以下的表格: 以上是一个3×2的表格,表格宽度为350个像素,每个单元格的宽度为33%,即占表格的三分之一,其中单元格1和单元格4 已经合并:单元格边距.单元格间距.表格线宽度都为10:表格的底色为灰色,单元格5的边框颜色为红色,单元格6的底色为绿色: 在上面的例子,我们将表格线宽度设置为0,在编辑状态下,看到的表格是: 宽度为0的边框线,在编辑状态下会以虚线表示,而实际的浏览效果为:     可见,宽度为0

dreamweaver 3 表格经验谈

dreamweaver 做过主页的朋友,几乎没有一个人没用到它,它使我们排版更加轻松.有人说DW的表格没有Fp的好用,我认为不然,Fp就是多一个平均分配行高,列高功能,但DW参数的更改设置非常方便, 可清除表格行高,列高定义的HTML语句,这个功能挺好.好!好!我不再罗嗦了,直奔主题,我将以提问的方式介绍我的那几个经验,Follw me : 经验(一):为什么说表格比图层排版要好? 一开始学DW的朋友,都比较喜欢用图层排版,其主要原因是图层可以把对象放到你想放的任意位置,并且只需拖动鼠标,看起来

网站设计的思考-网页中表格的运用

设计|网页 表格(table)是页面的重要元素,是页面排版的主要手段.尽管DHTML中的层(layer)也可以实现网页元素的自由定位,但是表格显然更加方便编辑与修改.熟练掌握和运用表格的各种属性,可以让您的页面看起来赏心悦目. 本文将分两部分详细介绍表格在网页设计中的运用.包括表格的基本用法和表格运用的注意点. 一.表格的基本用法. 表格的基本用法相信您已经非常熟悉了.但为了保证文章的完整性,阿捷在这里还是再罗列一遍. ●表格的HTML基本语法 <table>...</table>

在网页中实现细线表格边框的方法

网页 很多朋友都有过制作网页的经历,如今,众多网页的设计都用到了表格.这样不仅有利于网页的维护,同时,提高了网页的观赏性.在众多网页制作风格中,细边框这个制作方法是必不可少的.这里,我将简单地谈一下细边框的制作方法. 好像一般的做法是这样(css).table1{border-collapse:collapse}.table1 td{border:1px solid #ddd} 如何用表格嵌套呢?大家都知道,用Bgcolor可以在表格中任意定义表格的背景颜色,用Cellspacing可以控制表格