给表头添加样式或图片
header:' <div style='ddd'>姓名 </div>'
。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:1,
name:'小李',
email:'xiaoli@easyjf.com',
sex:'男',
bornDate:'1992-5-6'},
{id:1,
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
});
});
.jsp
<div id="box"> </div>
<div id="hello"> </div>
<select name="sexList" id="sexList" style="display: none;">
<option>男 </option>
<option>女 </option>
</select>
分享到:
相关推荐
多表头插件是ExtJS Grid的一个重要特性,它允许我们创建具有多层次、复杂结构的表头,以便更好地组织和呈现数据。在ExtJS Grid中,多表头能够帮助用户更清晰地理解列的分组和关系,提高数据的可读性和分析性。 首先...
`GridDoubleHeader.js`可能提供了更高级的特性,例如动态创建表头、自定义表头菜单等,具体功能需要查看源代码或相关文档以了解详情。 在实际开发中,理解EXTjs的组件模型和事件系统对于充分利用其功能至关重要。...
在IT领域,特别是Web开发中,ExtJS是一个广泛使用的JavaScript框架,它提供了丰富的用户界面组件,包括表格(Grid)等。动态表头是ExtJS中一个高级特性,它允许开发者根据需要在运行时动态地创建和修改表格的列结构...
ExtJS Grid是一个强大的数据展示组件,它允许用户以表格的形式查看和操作大量数据。在实际应用中,数据过滤是常见的需求,以便用户能快速定位到感兴趣的信息。本篇将深入探讨ExtJS Grid的过滤操作,以及如何动态地对...
在ExtJS 3中,如果你需要合并表头,你可能会使用`Ext.grid.GroupingView`或自定义的视图类。表头合并通常涉及到设置特定的配置选项和处理渲染过程。以下是一些关键知识点: 1. **GroupingView**: 这是ExtJS 3中用于...
在本文中,我们将深入探讨如何使用ExtJS框架来实现自定义树结构以及动态表头的功能。ExtJS是一款强大的JavaScript库,常用于构建富客户端应用程序,它提供了丰富的UI组件和强大的数据绑定机制。VS2015是Visual ...
- 使用`headerCfg`对象可以自定义表头的样式和行为,例如添加CSS类或图标。 - `tgroupheaders`是另一个可以实现类似效果的组件,它提供了更简单的API,但可能没有那么灵活。 通过以上方法,你可以创建出具有多...
在EXTJS 2.2.1版本中,用户可能会发现Grid表头的下拉菜单在视觉呈现上不尽如人意,这可能是由于默认样式或自定义样式配置不当导致的。 EXTJS的Grid组件允许用户对列进行排序、分组、过滤等操作,而表头的下拉菜单...
具体来说,是重写 GridView 的 `renderHeaders` 方法,该方法用于渲染 Grid 的表头部分。 ### 三、代码分析 #### 1. 自定义 GridView 类 首先,创建了一个名为 `MyGridView` 的类,该类继承自 `Ext.grid.GridView...
通过CSS,我们可以自定义表头的外观,使其与应用的整体设计风格保持一致。在实际开发中,根据需求,我们可能需要调整这些样式规则以满足特定的UI需求。 为了使用`GroupHeaderPlugin`,我们需要在`grid`配置中引入该...
双表头在ExtJS中可以通过`Ext.grid.header.Container`和`Ext.grid.column.Column`组件的组合来实现。首先,创建一个`headerContainer`,然后在这个容器中添加两个或多个`column`,这些`column`可以设置不同的标题和...
动态表头是ExtJS中的一个高级特性,它允许用户在运行时自定义表格的列结构,提供了高度可配置和交互性的体验。这个"extjs动态表头"的资源很可能是一个插件或组件,名为`Ext.ux.grid.DynamicGridPanel.js`,它扩展了...
在ExtJS 4.0版本中,Grid提供了单元格合并的功能,这在处理复杂数据展示时非常有用,比如汇总信息或者创建表头合并。下面我们将深入探讨如何在ExtJS 4.0 Grid中实现单元格合并,以及其背后的技术细节。 首先,理解...
EXTJS Grid支持自定义表头菜单,用户可以通过右键点击表头来选择排序、隐藏列等操作。开发者可以自定义这个菜单,添加更多功能,如列过滤、列锁定等。 6. 数据源绑定: EXTJS Grid的数据通常来源于Store,一个数据...
本文将详细介绍如何在ExtJs中使用自定义插件动态保存表头配置。 首先,我们需要创建一个自定义插件,这里命名为`ux.plugin.ColumnCustom`。这个插件的核心功能是监听`columnschanged`事件,当表头的列发生改变时,...
表格过滤(Grid Filter)是ExtJS Grid提供的一种功能,用户可以根据需求自定义条件,快速筛选出符合特定条件的行,使得数据浏览更加高效。通过在列头设置过滤器,用户可以对每一列的数据进行过滤操作,如文本、数字...
GridPanel允许开发者自定义头部(header)和列(columns)。对于多行表头,可以通过创建嵌套的HeaderContainer来实现,每个HeaderContainer可以视为一列,内部可以包含多个ColumnDefinitions。对于锁定列,可以使用...
在ExtJS中实现多行合并(rowspan)的效果,通常是为了在数据表格中展示具有层次结构的数据,或者在某些特定情况...总的来说,这是一次对ExtJS高级特性的实践应用,对于理解ExtJS的自定义能力和数据展示策略非常有帮助。
在本篇文章中,我们将深入探讨如何在ExtJS4中实现前台Grid的数据导出到Excel功能。 首先,我们需要了解`Ext.grid.Panel`,这是ExtJS中的核心组件之一,用于创建数据网格。它能够动态加载数据,提供排序、过滤、分页...
这个JavaScript文件可能定义了新的类或者扩展了ExtJS的内置`Ext.grid.header.Container`类,以支持多级表头的逻辑和交互。它可能包含的方法有设置和获取表头层级、合并单元格、处理排序事件等。 `HeaderColumn.css`...