`
sony-soft
  • 浏览: 1105335 次
文章分类
社区版块
存档分类
最新评论

写一篇完整的Extjs Grid的简易翻页

 
阅读更多

转载并修改上一篇学习EXT第五日--Grid组件的简易分页,可能有的人还是会在实现的时候遇到一些问题。现在我自己写了一篇关于Extjs Gird简易翻页的完整实现代码。希望对那些在实现中任很困惑的人能起到帮助作用。

这次代码在.net 2003 + sql server 2000 环境下实现的,没有使用json类、存储过程,只是纯粹的数据字符串拼接后在前台显示。

下面,是所有的代码和讲解。

一、前台HTML代码:

<divid="MyPageGrid"></div><!--首先在页面的BODY里面载入自己的div,用于显示ExtjsGrid-->

二、前台JS代码:

1、在head里面加入

<LINKhref="Js/resources/css/ext-all.css"type="text/css"rel="stylesheet">
<scriptlanguage="javascript"src="Js/adapter/ext/ext-base.js"></script>
<scriptlanguage="javascript"src="Js/ext-all.js"></script>

2、JS:

Ext.onReady(function(){
vards=newExt.data.Store({
proxy:
newExt.data.HttpProxy({url:'ExtjsGridPage.aspx'}),
reader:
newExt.data.JsonReader({
root:
'root',
totalProperty:
'totalCount',
id:
'OrderID'
},[
{name:
'OrderID',mapping:'OrderID'},
{name:
'CustomerID',mapping:'CustomerID'},
{name:
'OrderDate',mapping:'OrderDate',type:'date',dateFormat:'Y-m-d'},
{name:
'Freight',mapping:'Freight'},
{name:
'ShipRegion',mapping:'ShipRegion'}
]),
remoteSort:
true
});



varcolModel=newExt.grid.ColumnModel([
{id:
'OrderID',header:'OrderID',sortable:true,dataIndex:'OrderID'},
{header:
'CustomerID',sortable:true,dataIndex:'CustomerID'},
{header:
'OrderDate',sortable:true,renderer:Ext.util.Format.dateRenderer('Y-m-d'),dataIndex:'OrderDate'},
{header:
'Freight',sortable:true,dataIndex:'Freight'},
{header:
'ShipRegion',sortable:true,dataIndex:'ShipRegion'}
]);

vargrid=newExt.grid.GridPanel({
el:
'MyPageGrid',
store:ds,
cm:colModel,
autoExpandColumn:
'OrderID',
renderTo:document.body,
height:
350,
width:
600,
title:
'ArrayGrid',
loadMask:{msg:
'正在加载数据,请稍侯……'},
bbar:
newExt.PagingToolbar({
pageSize:
20,
store:ds,
displayInfo:
true,
displayMsg:
'当前显示{0}-{1}条记录/共{2}条记录',
emptyMsg:
"无显示数据"
})
});
grid.render();
ds.load({params:{start:
0,limit:20}});
});

三、后台CS代码:在page_load中

if(Request.Form["start"]!=null&&Request.Form["limit"]!=null)
{
intstart=int.Parse(Request.Form["start"]);//获取页面显示的起始数
intlimit=int.Parse(Request.Form["limit"]);//获取每页记录数

SqlConnectionconn
=newSqlConnection("server=.;InitialCatalog=northwind;Userid=sa;Password=");//以本机的northwind..orders为例
conn.Open();

SqlCommandcmd
=newSqlCommand("selectOrderID,CustomerID,OrderDate,Freight,ShipRegionfromorders",conn);
DataSetds
=newDataSet();

SqlDataAdapterda
=newSqlDataAdapter(cmd);
da.Fill(ds);

StringBuildersb
=newStringBuilder();
sb.Append(
"[");

intpageCount=ds.Tables[0].Rows.Count;//共有页数
for(inti=start;i<start+limit;i++)
{
stringsShipRegion=ds.Tables[0].Rows[i].IsNull("ShipRegion")?"null":ds.Tables[0].Rows[i]["ShipRegion"].ToString();
sb.Append(
"{OrderID:'"+ds.Tables[0].Rows[i]["OrderID"].ToString()+"',CustomerID:'"+ds.Tables[0].Rows[i]["CustomerID"].ToString()+"',OrderDate:'"+Convert.ToDateTime(ds.Tables[0].Rows[i]["OrderDate"]).ToString("yyyy-MM-dd")+"',Freight:'"+ds.Tables[0].Rows[i]["Freight"].ToString()+"',ShipRegion:'"+sShipRegion+"'}");

if(i!=(start+limit-1))
{
sb.Append(
",");
}
}
sb.Append(
"]");//字符串的拼接

stringTemp="{totalCount:"+pageCount+",root:"+sb.ToString()+"}";

Response.Write(Temp);
Response.End();

}

在这里需要注意到是:在显示日期的时候,前台和后台的日期的日期格式必须一致,否则不能正常显示。

分享到:
评论

相关推荐

    ExtJS grid过滤操作

    ExtJS Grid是一个强大的数据展示组件,它允许用户以表格的形式查看和操作大量数据。在实际应用中,数据过滤是常见的需求,以便用户能快速定位到感兴趣的信息。本篇将深入探讨ExtJS Grid的过滤操作,以及如何动态地对...

    ExtJs Grid选择行

    本篇文章将详细探讨“ExtJs Grid选择行”的相关知识点。 首先,我们要了解ExtJs Grid中的选择模型(Selection Model)。ExtJs Grid支持多种选择模式,如单一选择(Single Selection)、多重选择(Multiple ...

    EXTJS grid导出EXCEL文件

    在EXTJS中,Grid组件是一个强大的数据展示工具,它允许用户以表格形式查看和操作大量数据。在EXTJS 3.2.0版本中,Grid提供了一个功能,可以将其中的数据导出到Microsoft Excel文件中,方便进一步的数据分析和处理。 ...

    extjs grid

    EXTJS Grid是EXTJS库中的一个核心组件,用于创建数据密集型的表格视图,它在Web应用程序中常用于展示和操作大量结构化数据。EXTJS Grid提供了丰富的功能,包括分页、排序、过滤、编辑等,使得用户可以高效地管理和...

    extjs grid示例代码

    ExtJS Grid是Sencha ExtJS框架中的一个核心组件,它用于构建数据驱动的表格视图。Grid组件在Web应用中广泛使用,因为它提供了强大的数据展示、排序、分页、筛选和编辑功能。以下是对`ExtJS Grid`示例代码的详细解析...

    extjs grid数据导出excel文件

    具体实现时,开发者可能会在EXTJS的事件处理器中添加导出功能,例如在Grid的工具栏上添加一个“导出”按钮,当点击该按钮时触发数据导出的函数。这个函数会按照上述步骤操作,最终生成一个可供下载的Excel文件。 在...

    ExtJs grid多选时获取选中的所有值

    其中,Grid Panel(简称 Grid)是ExtJs中最常用的一个组件之一,用于展示表格数据。在实际业务场景中,经常需要支持用户对表格中的多行数据进行选择,并执行批量操作,如删除、编辑等。因此,掌握如何在ExtJs Grid中...

    EXTJS Grid总结例子

    EXTJS Grid是一款强大的数据展示组件,广泛应用于Web应用开发中,尤其在数据密集型界面设计时,EXTJS Grid以其高效的数据加载、灵活的分页、排序、过滤和自定义功能而受到开发者青睐。本总结例子将深入探讨EXTJS ...

    Extjs grid 中文排序问题修正

    EXTJS Grid的排序功能是基于其内部的Store对象实现的,Store中的每条记录都有一个对应的sortField和sortDir属性,用于记录当前的排序字段和排序方向。当你点击列头进行排序时,Grid会调用Store的sort方法,根据指定...

    Extjs grid分页1

    ExtJS Grid 分页是Web应用中数据展示的重要组成部分,它允许用户高效地浏览大量数据而无需一次性加载所有记录。在本文中,我们将深入探讨ExtJS Grid的分页功能及其实现方式。 首先,ExtJS Grid是一种强大的...

    extjs grid 多表头插件

    ExtJS Grid是一款强大的数据展示组件,常用于构建复杂的Web应用程序中的数据网格。多表头插件是ExtJS Grid的一个重要特性,它允许我们创建具有多层次、复杂结构的表头,以便更好地组织和呈现数据。在ExtJS Grid中,...

    Extjs Grid 扩展实例

    ExtJS Grid是一个强大的数据展示组件,它在Web应用程序中用于显示和操作大量数据。Grid提供了丰富的功能,包括分页、排序、过滤、编辑等,是ExtJS库中的核心组件之一。"Extjs Grid 扩展实例"是一个演示如何增强Grid...

    Extjs grid分页多选记忆功能

    很多同事在用extjs grid做分页的时候,往往会想用grid的多选功能来实现导出Excel之类的功能(也就是所谓的多选记忆功能),但在选选择下一页的时候 上一页选中的已经清除 这是因为做分页的时候又向服务器请求了分页...

    Extjs4.2 Grid filter Demo 表格过滤实验

    这是利用sencha cmd 生成的GridFilterDemo工程中的app和build文件夹,其余文件过大并且与主题无关,因此未包含。具体方法,请参看我的博客: 《Extjs4.2 Grid Filter Feature 表格过滤特性》

    ExtJS笔记---Grid实现后台分页

    这篇“ExtJS笔记——Grid实现后台分页”探讨了如何在ExtJS的Grid组件中实现高效的后台分页功能。 后台分页是一种常见的数据处理策略,特别是在大数据量的情况下,它将数据分批加载,避免一次性加载所有记录导致的...

    extjs gridToExcel

    这是一个简单的在extjs下的grid转化到Excel,里面代码简单易懂,在包里面还集成了复杂的js转化函数,不过本人没有用它来进行转化! 注:在用EXTJS的导出Excel技术中,一定要注意分页的问题

    Extjs Grid 操作大全

    #### 一、Extjs Grid简介 Extjs 是一个用JavaScript编写的开源前端框架,用于构建交互式的Web应用程序。它提供了一组丰富的UI组件,包括Grid组件,使得开发者能够轻松地创建出功能强大的数据展示表格。 #### 二、...

    ExtJS_grid.rar_Grid javascript_extjs grid

    ExtJS Grid是一款强大的JavaScript组件,用于在Web应用中创建数据密集型的表格视图。它由Sencha公司开发,是Ext JS库的核心部分,广泛应用于企业级应用的前端开发,提供丰富的功能和高度的可定制性。这个"ExtJS_grid...

    Extjs Grid2Grid拖拽

    在ExtJS中,Grid组件是一个非常重要的部分,它用于显示和操作大量的表格数据。"Grid2Grid拖拽"功能是指在两个ExtJS Grid之间通过鼠标拖放操作来移动或复制行数据。这种功能在数据管理、比较和操作场景中非常实用。 ...

    Extjs动态Grid的生成 htm

    Extjs动态Grid的生成 htm

Global site tag (gtag.js) - Google Analytics