`
xjtusaber
  • 浏览: 54803 次
  • 性别: Icon_minigender_1
  • 来自: 龙黄
社区版块
存档分类
最新评论

Ext2.0学习-初探grid控件

阅读更多

代码主要参考ext 2.0的example ,这里加上自己的注释,包括某些参数的含义.
使用ext2.0创建表格很简单:
第一:准备表头,使用Ext.grid.ColumnModel
第二:准备数据,使用Ext.data.Store
第三:创建表格,使用Ext.grid.GridPanel,同时把以上的表头和数据放进去。

 



 

Ext.onReady(function() {
	/**
	 * 首先是创建表格的ColumnModel,即定义grid的各个列:
	 * Ext.grid.ColumnModel([{
	 * id:          列的唯一标识,可以用于定义css,如:(.x-grid-td-topic b { color:#333 })
	 * header:      列的名称
	 * dataIndex:   在store中本列值的索引
	 * sortable:    设置本列是否支持排序
	 * renderer:    列值的渲染函数,定义函数如:function  renderName(value, cellmeta, record, rowIndex, columnIndex, store){}
	 * width :      列宽
	 * hidden:true  是否隐藏本列
	 * }]);
	 */
	var sm = new Ext.grid.CheckboxSelectionModel();// 多选行
	var cm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), sm, {
		header : '编号',
		dataIndex : 'id',
		sortable : true
	}, {
		id : 'topic',
		header : '名称',
		dataIndex : 'name',
		renderer : renderName,
		width : 150
	}, {
		id : 'topic',
		header : '描述',
		renderer : renderName,
		dataIndex : 'descn'
	}]);
    /**
     * 准备数据,
     */
	var ds = new Ext.data.Store({
		proxy : new Ext.data.HttpProxy({
			url : 'gridDataJson.jsp'
		}),
		reader : new Ext.data.JsonReader({
			totalProperty : 'totalProperty',
			root : 'root',
			fields : [{
				name : 'id'
			}, {
				name : 'name'
			}, {
				name : 'descn'
			}]
		}),
		remoteSort : true
	});
    /**
     * 创建表格面板,各参数见下注释
     * 
     */
	var grid = new Ext.grid.GridPanel({
		width : 450,
		height : 275,
		//title : 'Ext表格控件',
		el : 'grid-div',       //表格依附对象id ,一般是一个DIV
		ds : ds,// store : ds, //表格数据对象:Ext.data.Store
		cm : cm,               //表头,即ColumnModel
		sm : sm,               //选择行,即CheckboxSelectionModel
		//视图配置
		viewConfig : {
			forceFit : true,
			enableRowBody : true,
			showPreview : false,//是否预览
			getRowClass : function(record, rowIndex, p, store) {
				//p: 预览内容在页面上的放置的对象,
				if (this.showPreview) {
					p.body = '<p>' + record.data.descn
							+ '[----摘要----]</p>';
					return 'x-grid3-row-expanded';
				}
				return 'x-grid3-row-collapsed';
			}
		},
		//分页工具栏显示在底部,如果要显示在顶部用tbar(top bar)
		bbar : new Ext.PagingToolbar({
			pageSize : 10,
			store : ds,
			displayInfo : true,
			displayMsg : '显示第{0}条到{1}条记录,共:{2}条',
			emptyMsg : "没有记录",
			items : ['-', {
				pressed : true,
				enableToggle : true,
				text : '预览',
				cls : 'x-btn-text-icon details',
				toggleHandler : toggleDetails
			}]
		})
	});
	grid.render();
	ds.load({
		params : {
			start : 0,
			limit : 10
		}
	});
	function toggleDetails(btn, pressed) {
		var view = grid.getView();
		view.showPreview = pressed;
		view.refresh();
	};
}

)

// 为特定行显示值 进行渲染。
function renderName(value) {
	return "<a href='xqxq' target='_blank' >" + value + "  [----]</a></b>"
}

function renderName2(value, cellmeta, record, rowIndex, columnIndex, store) {
	var str = "<input type='button' value='查看详细信息' onclick='alert(\""
			+ "这个单元格的值是:" + value + "\\n" + "这个单元格的配置是:{cellId:"
			+ cellmeta.cellId + ",id:" + cellmeta.id + ",css:" + cellmeta.css
			+ "}\\n" + "这个单元格对应行的record是:" + record + ",一行的数据都在里边\\n" + "这是第"
			+ rowIndex + "行\\n" + "这是第" + columnIndex + "列\\n"
			+ "这个表格对应的Ext.data.Store在这里:" + store + ",随便用吧。" + "\")'>";
	return str;
}

 

  • 大小: 531.1 KB
分享到:
评论

相关推荐

    ext-2.0 ext-2.0 ext-2.0 ext-2.0 ext-2.0

    ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0

    EXT2.0-API

    例如,你可以在其中找到`Ext.grid.Panel`类,学习如何创建和配置一个网格面板,包括设置列定义、数据源、工具栏等。 总的来说,EXT2.0-API是EXT开发者的必备资源,它详细阐述了EXT2.0的组件体系、数据管理、事件...

    EXT2.0 GRID 示例

    EXT2.0 GRID 示例是一个基于EXT JavaScript库的高级数据展示和操作组件的实例。EXT是一个强大的前端开发框架,尤其在创建交互式Web应用程序方面表现出色。EXT2.0是EXT库的一个早期版本,它提供了丰富的用户界面组件...

    EXT2.0学习资料

    EXT2.0是Ext JS框架的一个早期版本,它在Web应用程序开发中被广泛使用,尤其在构建富客户端界面...通过"ExtJS学习.pdf"和"ext-2.0.1"这两个资源,我们可以系统地学习并掌握EXT2.0的各个方面,提升自己的前端开发技能。

    Ext 2.0 - API Documentation

    Ext 2.0 - API Documentation

    Ext2.0学习入门

    资源名称:Ext2.0学习入门资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    EXT 2.0学习资料

    EXT 2.0学习资料 关于EXT的基本入门学习的PDF

    ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记

    ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记...

    最新的ext2.0下载

    10. **文档与社区支持**:EXT2.0拥有详尽的文档和活跃的社区,开发者可以方便地获取帮助和学习资源。 在压缩包中的"ext2"文件可能包含了EXT2.0的源码、示例代码、文档和其他相关资源,这将帮助开发者快速理解和使用...

    EXT2.0学习资料.rar

    ext-2.0.1目录很可能是EXT2.0源代码的压缩包,这对于开发者来说是非常宝贵的资源,因为可以直接查看和研究EXT2.0的内部实现,理解其工作原理,甚至对其进行定制或扩展。这个目录可能包含了EXT2.0的所有JavaScript...

    ext2.0(jsp标签)

    在EXT 2.0的压缩包文件"ext-2.0"中,可能包含了EXT库的JavaScript文件、CSS样式文件、图像资源以及示例代码等,开发者可以通过这些资源学习EXT 2.0的使用方法,快速上手并创建自己的富互联网应用。通过深入理解和...

    ext2.0官方文档(chm),Ext 2.0 简明教程,Ext2经典应用

    文档中详细介绍了Ext 2.0的所有类、方法、属性和事件,是学习和开发Ext 2.0应用的重要参考资料。通过查阅官方文档,你可以了解到如何初始化Ext应用、如何创建组件、如何处理数据绑定、如何使用布局管理器等内容。 2...

    Ext2.0 中文文档

    EXT2.0的学习路径建议从基本的Element操作和事件处理开始,逐步掌握Widgets的使用,然后深入到Ajax和数据管理,最后研究源码以提升对EXT框架的整体理解。通过实践和查阅相关资源,如推荐的中文网站和书籍,可以加快...

    ext2.0官方文档

    深入学习EXT2.0,不仅可以帮助Linux管理员更好地管理他们的系统,也是提升系统性能和数据安全性的关键。随着对EXT2.0的理解加深,读者也将具备更强的故障排查能力和系统优化技巧。因此,这份"EXT2.0官方文档"对于...

    Ext2.0中文文档

    Ext 2.0是Sencha公司开发的一个JavaScript库,主要用于构建富互联网应用程序(RIA)。这个中文文档包含了关于Ext 2.0的详细说明,对于开发者来说是一个非常宝贵的资源,可以帮助他们理解和使用这个强大的前端框架。 ...

    barcode4j-fop-ext-complete-2.0-sources.jar

    官方版本,亲测可用

    Ext2.0框架的Grid使用介绍

    #### 二、Ext2.0 Grid控件详解 Grid是Ext2.0中用于展示数据的重要组件之一,它不仅能够显示各种格式的数据(如二维数组、JSON或XML),还支持数据的排序、过滤和分页等功能。Grid的核心在于`Ext.grid.GridPanel`类...

    EXT2.0在本地浏览API的插件

    EXT2.0是一款基于JavaScript的富客户端开发框架,它提供了丰富的组件库和强大的数据管理功能,使得在浏览器端构建复杂的用户界面变得简单。本插件是EXT2.0针对本地浏览API的扩展,旨在增强EXT应用程序对本地资源的...

    EXT2.0最新压缩包

    "ext-2.0.1"这个文件名可能指的是EXT2.0的某个特定版本或补丁,通常在安装或升级文件系统时会用到。用户可能需要将这个压缩包解压后,使用相应的工具(如mkfs.ext2)来创建或更新EXT2.0文件系统。在进行这些操作前,...

    ext2.0学习文档 pdf

    根据提供的标题“ext2.0学习文档 pdf”和描述“ext2.0学习文档,很好用的哦。看了受益匪浅,所以上传大家一起分享”,我们可以推测这份文档是关于ext2文件系统的学习资料。接下来,我们将从给定的部分内容中提取并...

Global site tag (gtag.js) - Google Analytics