- 浏览: 83794 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
package:
不知楼主 是否试过火狐下面报错.....b.firstChil ...
EXTjs grid双层表头的实现 (源代码和示例) -
少年阿郎:
请把你的demo发到我的邮箱15251855442@163.c ...
Ext DateField控件 - 只选择年月 -
岳阳楼:
提示错误:消息: 'prototype' 为空或不是对象行: ...
Ext DateField控件 - 只选择年月 -
hellostory:
引用执行“清除”操作后,问题解决了。 请问如何执行清除操作。。 ...
SVN错误:Attempted to lock an already-locked dir -
jxxms:
可以用,非常好
Ext DateField控件 - 只选择年月
问题:使用Grid时,如果出现列标题与复选框错位
使用定义样式
.ext-ie7 .x-menu-item-icon,
.ext-ie6 .x-menu-item-icon {left: -24px;}
.ext-ie8 .x-menu-item-icon,
.ext-ie7 .x-menu-item-icon,
.ext-ie6 .x-menu-item-icon {left: -24px;}
解决
使用grid的遮罩提示时,一定要设表格的height和width。
enableColumnMove和enableColumnResize为false表示禁用拖放列和改变列宽度功能。
默认情况下一次可以选一行或多行。
stripeRows:true显示为斑马线。
问题:自主决定每列的宽度
1.手动指定
cm(columnmudule)支持给每列设置宽度,如果不指定则默认的宽度为100px.
var cm=new Ext.grid.columnModel({
{header:'列头',dataIndex:'数据源索',width:宽度},....});
2.自动填充
var gird=new Ext.grid.GridPanel({
renderTo:'grid',
store:store,
cm:cm,
viewConfig:{forceFit:true}});
会按照设置的宽度之间的比例进行显示,而不是按照设置的宽度。
3.指定自动填充剩余空间的列
也可以指定一列来完成该操作,但该操作要求该列必须定义时指定id值。
var cm=new Ext.grid.columnModel({
{header:'列头',dataIndex:'数据源索',width:宽度,id:'id标识属性'},....});
接下来设定
Ext.grid.GridPanel({
renderTo:'grid',
store:store,
cm:cm,
autoExpandColumn:'id列标识'});
问题:让列支持排序
在建立列模型时指定storable:true
问题:中文排序
1.为Ext.data.Store设置一个storeInfo:{field:'列名',direction:'ASC|DESC'}属性。
2.重写Ext.data.Store的applySort函数
Ext.data.Store.prototype.applySort = function() {
if (this.sortInfo && !this.remoteSort) {
var s = this.sortInfo, f = s.field;
var st = this.fields.get(f).sortType;
var fn = function(r1, r2) {
var v1 = st(r1.data[f]), v2 = st(r2.data[f]);
if (typeof(v1) == "string") {
return v1.localeCompare(v2);
}
return v1 > v2 ? 1 : (v1 < v2 ? -1 : 0);
};
this.data.sort(s.direction, fn);
if(this.snapshot && this.snapshot != this.data) {
this.snapshot.sort(s.direction, fn);
}
}
};
该函数可以加在ext-all.js文件的未尾。或者放在html页面的最上面,保证在EXT初始化之后,实际代码调用之前执行。
问题:显示日期类型数据列
1.在store的reader属性中增加type和dataFormat两个属性
{name: 'date',type:'date',dateFormat:'Y-j-n H:i:s'}
注意格式化字符串必须要与实际日期的内容相对应。
如日期为2009-5-2 12:30:58 则格式化字符串为'Y-j-n H:i:s'
如日期为2009-05-02 12:30:58 则格式化字符串为'Y-m-d H:i:s'
详细字符串的含义见ext api doc之Date类
以保证能够读取到正确的日期值。
2.在ColumnModel中新加配置
{header: '日期',dataIndex: 'date',type:'date',renderer:Ext.util.Format.dateRenderer('Y年j月n日')}
其中renderer的格式字符串表示显示的格式是什么。
问题:如何在单元格时显示红色的字或图片,按钮等
在ColumnModule的相应列的属性中添加renderer:渲染函数
如:
var cm=new Ext.grid.ColumnModel([
{head:'列头',dataIndex:'数据源索',renderer:渲染函数}]);
渲染函数:
function 函数名(value){
if(value==值){
return html+css代码;
}
else
{
return 其它的html+css;
}
}
问题:如何设置表格的表头右键提示为汉字内容
Ext.grid.GridPanel可以看作控制器,Ext.data.Store可以看作模型,Ext.grid.GridView可以看作视图.在构建Ext.grid.GridPanel实例时添加viewConfig属性
var gid=new Ext.grid.GridPanel(
{renderTo:'grid',
store:store,
cm:cm,
viewConfig:{
columnsText:'显示的列',
scrollOffset:30,
sortAscText:'升序',
sortDescText:'降序'
//forceFit:true
}
});
问题:用grid实现分页显示
1.为Grid添加分页工具条
在GridPanel中进行设置
var grid = new Ext.grid.GridPanel({
renderTo: 'grid',
autoHeight: true,
store: store,
cm: cm,
bbar: new Ext.PagingToolbar({
pageSize:3,
store: store,
displayInfo: true,
displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
emptyMsg: "没有记录"
})
});
store.load();
在使用分页工具条之后,store.load()必须发生在构造GridPanel之后.而且数据源不能使用Ext.data.SimpleStore.Grid每次都会显示数据源中所有的数据.因此数据一定要先在后台分好.
如果要在Grid的头部显示分页工具条,可以将bbar改为tbar。
2.后台分页
后台jsp的做法:
①取得开始页号与页大小
String start = request.getParameter("start");
String limit = request.getParameter("limit");
②访问数据库取得数据
③将数据输出为json字符串
格式为:{totalProperty:总记录数,root:[{.....},{.....},....]),其中root数组存放当前页的数据.
前台页面的做法:
①修改Store
var store = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({url:jsp的url'}),
reader: new Ext.data.JsonReader({
totalProperty: 'totalProperty',
root: 'root'
}, [
{name: 'id'},
{name: 'name'},
{name: 'descn'}
])
});
②向服务器传参
store.load({params:{start:0,limit:10}});
Grid每次都会显示全部在root中的数据,而不论totalProperty的值是多少,所以分页时root数组中的数据由后台jsp控制。
3.前台分页
EXT中的Grid是把得到的数据一次性显示在表格里,并没有直接为我们提供内存分页的功能,但是在Ext的examples/locale/PapingMemoryProxy.js,它可以从本地数据读取数据同,并实现内存分页。
步骤如下:
①将PagingMemoryProxy.js导入html
②把以前的MemroryProxy换成PagingMemoryProxy
③调用store.load({params:{start:0,limit:3}});显示最开始的3条记录。
4.后台排序
在默认的情况下,Grid只能对当前页的数据进行排序,如果对所有的数据排序,则需要将排序信息提交到后台,由后台将信息组装到SQL里,然后再由后台将处理好的数据返回给前台。
var store = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({url:'09_01.jsp'}),
reader: new Ext.data.JsonReader({
totalProperty: 'totalProperty',
root: 'root'
}, [
{name: 'id'},
{name: 'name'},
{name: 'descn'}
]),
remoteSort: true
});
其中remoteSort: true表示允许后台排序,这样在排序时就会有变化,不会立即显示出排序的结果,而是向后台提交两个参数,分别是sort和dir,表示要排序的字段与升序或降序。
jsp则进行相应的处理
String start = request.getParameter("start");
String limit = request.getParameter("limit");
String sort = request.getParameter("sort");
String dir = request.getParameter("dir");
再进行数据库分页,并返回json格式的分页数据。
发表评论
-
ExtJS 中xtype和 class对照表
2011-08-25 08:55 1026xtype Class ... -
EXTjs grid双层表头的实现 (源代码和示例)
2011-08-11 14:34 2936源代码:加载到页面中的js文件GridDoubleHead ... -
Extjs Grid相关组件及属性
2011-08-11 14:14 1616Ext.grid.GridPanel ... -
EXT的formpanel中的横向排列布局
2011-06-29 09:52 3201利用formpanel的form和column属性混合使用来 ... -
EXT中将grid的sm选择项动态添加到ComboBox
2011-06-29 09:09 1239//创建ComboBox的数据源 var itemDs = ... -
EditorGridPanel组件中根据条件取消某一行的编辑状态
2011-03-16 10:40 1103var dataClearGrid = new Ext.gri ... -
Ext.grid.GridPanel中的符合条件的某行不能选择
2011-03-15 14:10 1709让Ext.grid.GridPanel不能选择,即令Ext.g ... -
Ext中从grid 到tree的拖拽
2011-03-15 09:23 1489// 使用一个Json数据结构作为tree的本地数据源 ... -
Ext.grid.ColumnModel 后期通过setEditor设置editor
2011-02-28 15:52 3360Ext.grid.EditorGridPanel 顾名思义就是 ... -
Ext.ux.form.FileUploadField 重置的问题
2011-02-24 13:52 1587Js代码 text: '重置', ... -
EXT 树的配置详细属性介绍
2011-02-23 17:37 12931、Ext.tree.TreePanel 主要配 ... -
Ext.data.Store
2011-02-10 15:08 1021Ext.data.Store是EXT中用来进行数据交换和数据交 ... -
ext中常见的几种布局布局Layout
2010-12-02 14:02 3090所谓布局就是指容器组件中子元素的分布、排列组合方式。Ext的所 ... -
如何将string类型的数据如何显示在Ext的datefield中
2010-11-18 10:42 1258//返回的String的数据先格式化处理 obj.month ... -
Ext DateField控件 - 只选择年月
2010-11-18 09:44 4715var monthField = new Ext.u ... -
动态修改Ext控件的readOnly属性
2010-11-17 11:37 1901Ext 控件的readOnly属性是可以在控件初始化过程中 ... -
EXT表单组件常见属性介绍(三)
2010-11-17 11:25 1737本范例展示如何使用表单的各种组件。 下拉框组件展示了5种 ... -
EXT表单组件常见属性介绍(二)
2010-11-17 11:24 13651、Ext.form.Hidden 2、Ex ... -
EXT表单组件常见属性介绍(一)
2010-11-17 11:23 11781、Ext.form.Action 配置项: ... -
ext的 renderer的function参数详细介绍
2010-11-12 09:31 1520renderer:function(value, cellm ...
相关推荐
其中,Grid Panel(简称 Grid)是ExtJs中最常用的一个组件之一,用于展示表格数据。在实际业务场景中,经常需要支持用户对表格中的多行数据进行选择,并执行批量操作,如删除、编辑等。因此,掌握如何在ExtJs Grid中...
本文将深入探讨"Ext常用属性总结"这一主题,帮助开发者更好地理解和利用ExtJS的特性。 首先,让我们了解几个基本的ExtJS概念。`Ext.Component`是所有UI组件的基础类,它拥有众多属性来控制组件的行为、外观和交互。...
在EXTJS4中,`ComboBox` 是一个非常常用的组件,它提供了一个下拉选择框的功能。在某些场景下,我们可能需要在下拉菜单中展示更丰富的信息,比如表格数据,这时就可以使用 `GridComboBox`。`GridComboBox` 结合了 `...
其中,Grid是ExtJs中最常用的数据展示组件之一,它能够以表格形式显示数据,并提供了丰富的交互特性,如排序、筛选、分页等。 在ExtJs中,Grid的构建主要包括以下核心部分: - **ColumnModel**: 用于定义Grid中的...
在EXTjs中,grid组件是用于展示大量数据的常用组件,它可以提供灵活的布局、排序、筛选等功能。本篇将重点讲解如何在EXTjs中实现双层表头,以及通过提供的源代码`GridDoubleHeader.js`来理解其实现细节。 EXTjs的...
3. **列模型(Column Model)**:定义Grid的列布局,`Ext.grid.ColumnModel`(在新版本中是`Ext.grid.header.Container`和`Ext.grid.column.Column`),设置每列的标题、数据绑定、宽度等属性。 4. **Grid Panel**...
在EXTJS中,GridPanel是一种常用的组件,用于展示表格数据。在实际应用中,我们经常需要在GridPanel底部显示一行“合计”行,以便对某一列或多列的数据进行求和或其他统计操作。这篇博文“给Extjs的GridPanel增加...
在EXTJS中,数据网格(Grid)是一种常用的数据展示组件,它能够以表格形式展示大量数据,并支持排序、分页、过滤等多种操作。要将GRID中的数据导出为Excel,我们需要涉及以下几个关键步骤: 1. **数据准备**:首先...
其中,Grid Panel是EXTJS中最常用的组件之一,用于展示和编辑数据。本文将详细介绍EXTJS实现单元格变色、行变色的方法。 单元格变色 在EXTJS中,单元格变色可以通过renderer函数来实现。renderer函数是Grid Panel...
在使用Extjs4进行Web应用开发时,Grid控件是常用的数据展示组件之一。对于大数据量的情况,通常需要使用分页来提高用户体验。下面详细介绍如何在Extjs4中实现Grid的分页功能。 **1.1 创建数据存储(Store)** 首先...
在EXTJS中,Grid组件是用于展示大量数据的常用工具,它可以支持多种数据源,包括本地数据和远程数据(如通过Ajax请求从服务器获取)。 动态Grid的实现主要分为以下几个步骤: 1. **数据模型定义**:在EXTJS中,...
在EXTJS框架中,Grid组件是用于展示大量数据的常用工具,它提供了丰富的功能和高度的可定制性。本篇复习笔记将聚焦于EXTJS Grid中的一个重要特性——内容分组,帮助你深入理解如何实现这一功能。 内容分组在EXTJS ...
- **Grid介绍**:Grid组件是ExtJS中用于展示表格数据的核心组件。 - **数据定义**:包括定义数据源、列模型等内容。 - **分页功能**:Grid组件支持内置的分页功能,可以轻松实现数据的分页显示。 #### 16. EXTMenu...
- `Ext常用属性总结.doc`:总结了ExtJS中常用的组件属性,对理解和配置组件非常有用。 - `Extjs_前后台数据交互.doc`:讲解了ExtJS如何与服务器进行数据交互,包括Ajax请求、Store与Model的使用等。 - `extjs_...
- **列配置**: 定义Grid的列配置,包括列标题、宽度等属性。 - **分页**: 支持内置的分页功能,可以通过配置分页栏来实现数据的分页显示。 - **其他组件**: 包括Menu、Button等常用UI组件的使用方法。 - **使用...
在 Ext JS 中,`ComboBox` 和 `Grid` 都是常用的数据展示控件。通常情况下,`ComboBox` 用于展示和选择单个值,而 `Grid` 用于展示多行数据。然而,在某些场景下,我们可能需要在一个 `ComboBox` 下拉菜单中展示更多...
- **表格 (Grid)**: 是ExtJS中最常用的数据展示组件之一,可以轻松地实现数据的分页、排序等功能。创建表格的基本步骤包括定义数据模型、列模型等,例如:`var store = new Ext.data.JsonStore({ url: 'data.json', ...
GridPanel是ExtJS用于展示数据的常用组件,它由一系列行(rows)和列(columns)组成,每一行对应一个数据对象,每一列对应数据的一个属性。默认情况下,每一行是独立的,没有行间合并的概念。要实现行合并,我们...
1. **控件属性**:在`Extjs 控件属性.doc`中,可能会涵盖ExtJS 4中的各种组件(如窗口、面板、表格等)的常用属性。这些属性用于定义组件的行为、外观和交互方式。例如,宽度(width)、高度(height)、标题(title...