1.js代码
MyGridView=Ext.extend(Ext.grid.GridView,{
renderHeaders : function(){
var cm = this.cm, ts = this.templates;
var ct = ts.hcell,ct2=ts.mhcell;
var cb = [], sb = [], p = {},mcb=[];
for(var i = 0, len = cm.getColumnCount(); i < len; i++){
p.id = cm.getColumnId(i);
p.value = cm.getColumnHeader(i) || "";
p.style = this.getColumnStyle(i, true);
if(cm.config[i].align == 'right'){
p.istyle = 'padding-right:16px';
}
cb[cb.length] = ct.apply(p);
if(cm.config[i].mtext)mcb[mcb.length]=ct2.apply({value:cm.config[i].mtext,mcols:cm.config[i].mcol});
}
var s=ts.header.apply({cells: cb.join(""), tstyle:'width:'+this.getTotalWidth()+';',mergecells:mcb.join("")});
return s;
}
});
viewConfig={
templates:{
header:new Ext.Template(
'<table border="0" cellspacing="0" cellpadding="0" style="{tstyle}">',
'<thead><tr class="x-grid3-hd-row">{mergecells}</tr>' +
'<tr class="x-grid3-hd-row">{cells}</tr></thead>',
"</table>"
),
mhcell: new Ext.Template(
'<td class="x-grid-cell" colspan="{mcols}"><div align="center"><b>{value}</b></div>',
"</td>"
)
}
};
Ext.onReady(function(){
var data=[{id:1,
name:'小王',
email:'xiaowang@easyjf.com',
sex:'男',
bornDate:'1991-4-4'},
{id:2,
name:'小李',
email:'xiaoli@easyjf.com',
sex:'男',
bornDate:'1992-5-6'},
{id:3,
name:'小兰',
email:'xiaoxiao@easyjf.com',
sex:'女',
bornDate:'1993-3-7'}
];
var store=new Ext.data.JsonStore({
data:data,
fields:["id","name","sex","email",{name:"bornDate",type:"date",dateFormat:"Y-n-j"}]
});
var colM=new Ext.grid.ColumnModel([{
header:"姓名",
mtext:"基本信息",
mcol:2,
dataIndex:"name",
sortable:true,
editor:new Ext.form.TextField()},
{header:"性别",
dataIndex:"sex",
editor:new Ext.form.ComboBox({transform:"sexList",
triggerAction: 'all',
lazyRender:true})
},
{header:"出生日期",
dataIndex:"bornDate",
mtext:"其它信息",
mcol:2,
width:120,
renderer:Ext.util.Format.dateRenderer('Y年m月d日'),
editor:new Ext.form.DateField({format:'Y年m月d日'})},
{header:"电子邮件",
dataIndex:"email",
sortable:true,
editor:new Ext.form.TextField()}
]);
var grid = new Ext.grid.EditorGridPanel({
renderTo:"hello",
title:"学生基本信息管理",
height:200,
width:600,
cm:colM,
store:store,
view:new MyGridView(viewConfig),
autoExpandColumn:3
});
});
2.html代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>extjs示例测试</title>
<link rel="stylesheet" type="text/css" href="plugins/extjs/ext-2.0/resources/css/ext-all.css" />
<link rel="stylesheet" type="text/css" href="manage/skins/default/stylesheets/style.css" />
<link href="/stylesheet/vifir.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="plugins/extjs/ext-2.0/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="plugins/extjs/ext-2.0/ext-all.js"></script>
<script type="text/javascript" src="editor.js"></script>
</head>
<body>
<div id="box"></div>
<div id="hello"></div>
<select name="sexList" id="sexList" style="display: none;">
<option>男</option>
<option>女</option>
</select>
</body>
</html>
程序运行效果
转自 http://www.vifir.com/bbs/html/20080625/1441807.html
分享到:
相关推荐
"ext grid 合并行"就是关于如何在EXT Grid中实现行合并的技术点。 EXT Grid的行合并功能并不像列合并那样内置在默认配置中,因此需要通过一些额外的技巧来实现。以下是一个详细的步骤和知识点解析: 1. **理解EXT ...
### ext表格合并单元格的方法 #### 背景与概述 在进行Web开发时,特别是在使用Ext JS框架处理表格数据展示的过程中,经常会遇到需要合并单元格的情况。这不仅可以提升数据展示的美观性,还能增强数据的可读性和...
首先,我们要了解Ext JS中的Grid Panel是实现合并单元格的主要组件。Grid Panel是一个用于显示大量结构化数据的灵活控件,通过使用Store来存储数据,ColumnModel来定义列的布局和格式。 1. **合并策略**:在Ext JS...
标题中的“Extjs 合并单元格”指的是在Ext JS框架下实现表格(Grid)中单元格的合并功能。Ext JS是一个强大的JavaScript库,专用于构建富客户端Web应用,其核心组件之一就是数据网格(Data Grid),用于展示大量结构...
ExtJS 4.2 Grid组件本身并没有提供单元格合并功能,需要自己实现这个功能。 目录 1. 原理 2. 多列合并 3. 代码与在线演示 1. 原理 1.1 HTML代码分析 首先创建一个Grid组件,然后查看下的HTML源码。 1.1.1 Grid组件 ...
标题中的“extjs合并单元格”指的是在使用Ext JS这个JavaScript框架时,如何实现表格(Grid)中的单元格合并功能。Ext JS是一个用于构建富客户端Web应用的前端框架,提供了丰富的组件库,其中包括数据网格(Data ...
在实际开发中,我们有时需要在Grid的单元格(Cell)中添加更丰富的交互元素,例如输入框、下拉选择器等,这时就涉及到了`Ext Grid CellEdit`的概念。`CellEdit`允许我们在单个单元格中进行编辑,而不是整个行,提高...
EXT虽然没有直接提供合并单元格的功能,但可以通过一些技巧来实现。 "一个EXT+js实现的Grid表格合并的例子源码"这个资源应该包含了如何利用EXT和JavaScript来实现Grid表格合并的示例代码。实现这种方式通常需要对...
EXT Grid是一款基于JavaScript的强大的...在实际开发中,EXT Grid导出Excel的功能可以根据项目需求进行定制,例如添加自定义样式、合并单元格、设置条件格式等。理解上述步骤后,你可以根据具体需求进行扩展和优化。
在实现单元格合并时,还需要引入Ext.ux.grid.RowspanView对象,该对象继承自Ext.grid.GridView,实现了单元格合并的功能。下面是相关的Java代码: ``` Ext.ns('Ext.ux.grid'); / * 实现 grid 的 rowspan 效果 * ...
4. **CSS样式调整**:为了使合并后的单元格看起来更加自然,可能需要对CSS做一些调整,例如隐藏被合并的单元格,或者调整它们的边距和填充,以避免视觉上的重叠。 在给定的文件列表中,我们有以下三个文件: - `...
"rowspan"属性在HTML表格中被用来合并行,而在ExtJS 3中,它用于实现类似的功能,即在数据网格的表头中合并单元格,以创建更复杂的布局和更清晰的数据组织。 在ExtJS 3中,如果你需要合并表头,你可能会使用`Ext....
8. 表格合并:对于有父子关系的数据,EXT Grid可以通过合并单元格来清晰展示层级关系。 9. 扩展性:EXT Grid可与其他EXT JS组件无缝集成,如工具栏、按钮、下拉框等,扩展其功能。 10. 多选功能:EXT Grid提供了多选...
EXT-Grid拥有丰富的内置特性,如拖放、行级编辑、行合并、树形网格等。其用户界面设计精美,易于使用,且与EXT JS的其他组件有良好的集成,适合构建复杂的业务应用。EXT-Grid还提供了强大的数据绑定机制,可以轻松地...
var grid = Ext.create('Ext.grid.Panel', { store: myStore, columns: [ { text: 'ID', dataIndex: 'id' }, { text: 'Name', dataIndex: 'name' }, { text: 'Group', dataIndex: 'group', cellTpl: '...
2. **合并单元格**:在表头中合并单元格,形成跨列或跨行的标题,使得复杂的数据结构更加清晰。 3. **可展开/折叠**:表头中的部分可以折叠或展开,以隐藏或显示更详细的层级信息,提高界面的可读性和交互性。 4. **...
1. **合并单元格**:当需要在一个列中展示多个字段的信息时,可以使用rowspan将多个单元格合并为一个大单元格。 2. **汇总信息**:在表格底部或者特定行进行数据汇总,如总和、平均值等,这时可以跨多行显示结果。 3...
它提供了一套完整的组件库,其中`Ext.Grid`是核心组件之一,用于创建数据网格,展示大量结构化数据并支持丰富的交互功能。本篇文章将深入探讨基于ExtJS 5.1的列表封装,以及与之相关的`zGrid.js`和`TaskList.js`两个...