`

GT-Grid 1.0 基础教程(三)

阅读更多
GT-Grid 1.0 基础教程(三)

教程说明:
这是一个告诉大家如何快速的利用GT-Grid开发列表的基础教程.以后会推出"高级教程".
查看其他教程,以及最新版本信息,请点击这里


第三章: 没有分页怎么行

通过前两章的介绍,我相信大家应该可以很轻松的创建出一个"纯客户端只读列表".
但是作为列表, 数据多的时候, 不采用分页怎么行呢?

下面就让我们一起来把上一章中的列表变成 "支持客户端分页的纯客户端只读列表".
还是那句话:
在开始之前,为了保留我们之前的成果,不至于学习的过程中把前一个成果弄坏, 我们将"mydemo2.html"另存为"mydemo3.html".
OK,开始.


=========================================


1 准备测试数据

既然要分页 我们就要有很多数据才行. 之前那么几条 显然是太少了.
那么 我们就先来编写一个函数 来自动生成很多很多的测试数据吧 (这个函数你也可以自己写,没必要读下面这段代码).
	function getClientTestData(max){
		max=max||100;
		var getInt=function(min,max) {
				min = min || 0;
				max = max || 100;
				var _min= Math.min(min,max);
				max=Math.max(min,max);
				min=_min;
				var step= max - min +1;
				var s= (Math.random()+1)*max*10 % step;
				var num= min +  s ;
				return parseInt(num,10);
		}

		var data=[];
		var gl=['M','F','U'];
		for (var i=0;i<max;i++){
			var record={ no : 30+i , 
					name : 'abc'+i , 
					age :getInt(12,15) , 
					gender : gl[getInt(1,9)%3] , 
					english : 50+getInt(1,49), 
					math : 40+getInt(1,59)
				}
			data.push(record);
		}
		return data;	
	}

// 然后执行下面的语句, 客户端的数据就会有200条. (作为测试,我没有生成太多).
var data1 = getClientTestData( 200 );

现在预览一下页面, 会看到一个有200条数据的大列表.


=========================================


2 分页

现在我们要对他进行分页. 通过给 grid对象设置"pageSize"属性来实现.

var gridConfig={
	/* ... 其他属性设置略 ... */
	pageSize : 10 
}

只有 这个属性还不够, 它只是实现了分页, 但是列表必须要有导航按钮 才能在各个页面之间"穿梭".
这个我们通过 修改 toolbarContent 的内容来实现.
var gridConfig={
	/* ... 其他属性设置略 ... */
	toolbarContent : 'nav | state' 
}

为 toolbarContent 加入了 nav 和 一个竖线, 大家要注意, nav ,| ,state 三者之间有空格间隔.
nav代表的就是 导航按钮区.


导航区中包含了 四个按钮: 第一页 前一页 后一页 最后一页. 有时候也许我们还需要一个"直接调转到指定页"的功能.
我们可以通过 给 toolbarContent 加入 "goto" 子属性来实现这个功能.
	toolbarContent : 'nav | goto | state' 

OK,现在这个完整的分页按钮区就算是完成了


现在预览一下吧, 会看到一个共有200条数据,但每页只有10条的列表.


=========================================


2 页大小选择框

通常pageSize这个属性是固定的,但是也有一些场景,希望用户可以在查看列表时自由的改变这个大小.
那么我们就需要提供一个"页大小选择框"来实现这个需求. 按下面所示修改代码.
var gridConfig={
	/* ... 其他属性设置略 ... */
	toolbarContent : 'nav | goto | pagesize | state' ,

	pageSize : 10 ,
	
	pageSizeList : [5,10,15,20]
}

pageSizeList 是一个数组,列出了将要出现在下拉列表里的可供选择的"页大小".
toolbarContent 中也增加了一项 pagesize .



toolbarContent 中的 各个工具区域的位置是可以调整的, 大家可以根据自己的习惯来设置, 例如下面的设置方法都是合法的:

toolbarContent : 'nav | pagesize | goto | state' ,
toolbarContent : 'goto | nav | pagesize | state' ,
... ...


=========================================



这一章讲解了 分页的一些基本知识, 内容比较少,但是非常重要.
下一章开始 将讲解激动人心的"非纯客户端只读列表"的实现了, 敬请期待.

Over!  See you tonight or tomorrow .


=========================================


最后的成果图:
分享到:
评论
9 楼 liujunsong 2009-04-23  
fins的GT-Grid已经出来很久了.
也下载了一个版本看了看.
不过有一个问题始终不是太明白.
这个东西设计的目的是啥呢,要解决啥问题呢?
如果仅仅是要解决一个把数据按照grid方式显示出来的问题,代价是不是太大了些呢?
8 楼 blueskyzs 2009-04-23  
zhangliangzln 写道

出来了,原来是我的桌面颜色正好把表格下面的导航栏颜色覆盖了

朋友,我也到你这种情况,你是怎么解决的呢?这个不是在页面里面跟桌面颜色有什么关系呢.
7 楼 zhangliangzln 2009-03-12  
出来了,原来是我的桌面颜色正好把表格下面的导航栏颜色覆盖了
6 楼 zhangliangzln 2009-03-12  
toolbarContent : ' nav | goto | state'
我是这样写的,但是导航栏没有出来,只有后面的两个
5 楼 waomaowei 2008-08-22  
不知道效率怎么样?
4 楼 fins 2008-07-15  
gt和ec不是一种东西 你需要换个角度来思考.

var gridConfig={

	id : "grid1",
	
	dataset : dsConfig ,
         
        ... ...
    
	beforeLoad : function(){
		this.loadURL=....
	}
	
};

var mygrid=new GT.Grid( gridConfig );


这样就可以了  或者是 后期在用
mygrid.beforeLoad=function(){
.....
}

这个数据相对高一些的知识点了 以后的教程会提到
3 楼 flyrambler 2008-07-15  
引用
其实你可以在 beforeLoad里 改变 grid的loadURL

原来还真能改啊,可是请问beforeLoad是在哪个文件呢?我找了源文件,似乎没有。
顺便问一下,主要的脚本文件是在gt_grid_all.js里吗?这个文件似乎是个计算函数,并没有原来ecside一些常见的脚本动作啊。
2 楼 fins 2008-07-14  
nav 表示导航栏 整个导航栏

你这个需求比较有意思

其实你可以在 beforeLoad里 改变 grid的loadURL
beforeLoad是一个事件)
1 楼 flyrambler 2008-07-14  
我想请教一下,
引用
gridConfig中的toolbarContent : 'nav | pagesize | state' ,
,这里的nav表示下一页的意思吗?如果是,请问调用它的脚本在哪里?由于我一次只能从数据源读取一页,我想修改这个下一页链接来读取不同数据源的下一页数据。我找了半天脚本,似乎也没有找到。谢谢了!

相关推荐

    GT-Grid 1.0 基础教程

    本基础教程旨在帮助初学者快速理解并掌握GT-Grid 1.0 的核心概念和基本操作,以便在实际项目中应用。下面将详细阐述GT-Grid 1.0 的关键知识点。 一、GT-Grid 1.0 概述 GT-Grid 1.0 是一个基于Java开发的分布式计算...

    GT-Grid 1.0 基础教程(一)转载

    ### GT-Grid 1.0 基础教程(一)——纯客户端只读列表开发详解 #### 一、教程背景与目标 本教程旨在帮助初学者快速掌握如何使用GT-Grid开发纯客户端只读列表的基本技能。对于那些对Ajax技术下的列表组件不太熟悉的...

    gt-grid 基础教程

    **gt-grid基础教程** 在网页开发中,数据的展示往往是不可或缺的部分,特别是在处理大量结构化信息时。`gt-grid`是一款由"胖哥"开发的高效、功能丰富的表格组件,专为页面展示设计,旨在帮助开发者更便捷地构建数据...

    gt-grid的一个例子

    在这个“gt-grid的一个例子”中,我们将深入探讨如何使用`gt-grid`的基本功能,并通过实际代码示例来理解其工作原理。 首先,`gt-grid` 提供了灵活的数据绑定机制,可以方便地将后台数据源与前端表格进行对接。在...

    GT-Grid 教程示例

    GT-Grid 教程示例 GT-Grid 教程示例GT-Grid 教程示例GT-Grid 教程示例

    gt-grid demo 源码下载

    《GT-Grid 源码解析与后台交互实践》 GT-Grid 是一款功能强大的数据网格组件,广泛应用于Web应用中展示和管理大量结构化数据。本次我们将通过"gt_grid_demo"源码下载来深入理解GT-Grid的运作机制及其与后台数据交互...

    gt-grid 表格源码,开发包,api手册

    "gt-grid 表格源码,开发包,api手册"这一资源主要涵盖了用于构建数据表格的前端组件的源代码、开发工具以及相关的API文档。gt-grid是一个强大的数据展示和操作框架,它允许开发者以灵活的方式展示和管理大量结构化...

    最新的GT-Grid vs EXT-Grid例子(超级经典)

    在例子中,我们可以看到三种不同场景的应用,这些例子可能展示了GT-Grid和EXT-Grid在处理基础数据展示、高级功能集成以及自定义程度上的差异。例如,可能有一个例子专门对比两者的数据加载速度,另一个可能比较各自...

    GT-grid 例子

    GT-Grid 是一款强大的数据网格组件,常用于前端开发中展示和操作大量结构化数据。在Web应用中,它提供了一种高效的方式来呈现表格数据,支持排序、筛选、分页、编辑等多种功能,大大提升了用户体验。这个压缩包文件...

    GT-Grid 是一个基于Ajax技术的列表组件

    GT-Grid 是一个基于Ajax技术的列表组件. 拥有丰富的功能以及良好易用性和用户体验. 它是 EC Side列表组件 的更新换代产品. (ECSide是GT-Grid作者的另一作品, 是一个在国内拥有广泛用户群的列表组件,它基于传统的jsp...

    gt-grid.rar+demo

    "gt-grid.rar+demo"这个压缩包文件包含的是关于"gt-grid"的样例源码。"gt-grid"是一个常见的前端数据展示控件,通常用于创建高性能、可定制的表格,它在Web应用中广泛使用,特别是在大数据量的场景下。下面我们将...

    最新版GT-grid-好用的表格组件

    10. **文档与示例**:为了方便开发者快速上手,GT-grid提供了详尽的文档和丰富的示例代码,从基础用法到高级功能,都有清晰的指导。 在最新的版本中,GT-grid不仅在功能上进行了增强,而且在用户体验和性能优化上也...

    gt-grid 分页 用ajax 开发的 里面有例子

    在本示例中,“gt-grid 分页 用ajax 开发的 里面有例子”显然演示了如何使用`gt-grid`配合Ajax实现分页功能。 首先,我们需要理解Ajax的核心概念。Ajax(Asynchronous JavaScript and XML)是一种创建动态网页的...

    网页Grid组件 GT-Grid组件

    网页Grid组件,特别是GT-Grid组件,是Web开发中一种强大的数据展示工具,它为开发者提供了灵活、高效且功能丰富的表格解决方案。Grid组件在网页应用中扮演着至关重要的角色,用于展示结构化数据,支持排序、筛选、...

    GT-GRID插件下载

    GT-GRID是一款基于jQuery的强大的数据网格插件,主要用于展示和操作大量结构化的数据。它在Web应用中常被用于创建功能丰富的表格,提供类似数据库的分页、排序、过滤和编辑功能,使得用户可以方便地浏览和管理数据。...

    Draw-Grid_100_catia插件_catia车线_drawgrid_Draw-Grid下载_catia_

    标题中的“Draw-Grid_100_catia插件_catia车线_drawgrid_Draw-Grid下载_catia_”提到了几个关键元素,分别是“Draw-Grid”,“CATIA 插件”,“catia车线”以及“下载”。这表明我们要讨论的是一个用于CATIA软件的...

    GT-Grid 1.36 版 前后台结合示例

    NULL 博文链接:https://fins.iteye.com/blog/283672

    Ag-Grid Demo2.7z

    三、Ag-Grid Demo 在"Ag-Grid Demo"中,你可能会看到以下内容: 1. **HTML模板**:包含ag-Grid的初始化和配置,如列定义和数据源的设置。 2. **JavaScript/TypeScript代码**:实现ag-Grid的功能,如监听事件、...

    GT-Grid 列表组件[1]

    列表组件N0.1(国产) 用过之后你才知道优化 初学者提供问题解答哈 qq 406235245

    NVIDIA-GRID-Linux-KVM-470.63-470.63.01.zip

    此压缩包"NVVIDIA-GRID-Linux-KVM-470.63-470.63.01.zip"包含了与NVIDIA GRID相关的两个关键组件,以及一系列相关的文档,这些文档提供了详细的安装指南、更新说明和用户手册。 首先,我们来看一下两个主要的运行时...

Global site tag (gtag.js) - Google Analytics