DataGrid连接Access的快速分页法(5)——实现快速分页

王孝银5090

王孝银5090

2016-02-19 17:52

下面图老师小编要向大家介绍下DataGrid连接Access的快速分页法(5)——实现快速分页,看起来复杂实则是简单的,掌握好技巧就OK,喜欢就赶紧收藏起来吧!

  DataGrid连接Access的快速分页法(5)——实现快速分页

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

我使用Access自带的Northwind中文数据库的“订单明细”表作为例子,不过我在该表添加了一个名为“Id”的字段,数据类型为“自动编号”,并把该表命名为“订单明细表”。

FastPaging_DataSet.ASPx
--------------------------------------------------------------------------------------
%@ Page language="c#" Codebehind="FastPaging_DataSet.ASPx.cs" AutoEventWireup="false" Inherits="Paging.FastPaging_DataSet" EnableSessionState="False" enableViewState="True" enableViewStateMac="False" %
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
HTML
HEAD
titleDataGrid + DataReader 自定义分页/title
meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR"
meta content="C#" name="CODE_LANGUAGE"
meta content="javascript" name="vs_defaultClientScript"
meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema"
/HEAD
body
form runat="server"
ASP:datagrid id="DataGrid1" runat="server" BorderWidth="1px" BorderColor="Black" Font-Size="12pt"
AlternatingItemStyle-BackColor="#eeeeee" HeaderStyle-BackColor="#aaaadd" PagerStyle-HorizontalAlign="Right"
CellPadding="3" AllowPaging="True" AllowCustomPaging="True" AutoGenerateColumns="False" OnPageIndexChanged="MyDataGrid_Page"
PageSize="15" AllowSorting="True" OnSortCommand="DataGrid1_SortCommand"
AlternatingItemStyle BackColor="#EEEEEE"/AlternatingItemStyle
ItemStyle Font-Size="Smaller" BorderWidth="22px"/ItemStyle
HeaderStyle BackColor="#AAAADD"/HeaderStyle
Columns
ASP:BoundColumn DataField="ID" SortExpression="ID" HeaderText="ID"/ASP:BoundColumn
ASP:BoundColumn DataField="订单ID" HeaderText="订单ID"/ASP:BoundColumn
ASP:BoundColumn DataField="产品ID" HeaderText="产品ID"/ASP:BoundColumn
ASP:BoundColumn DataField="单价" HeaderText="单价"/ASP:BoundColumn
ASP:BoundColumn DataField="数量" HeaderText="数量"/ASP:BoundColumn
ASP:BoundColumn DataField="折扣" HeaderText="折扣"/ASP:BoundColumn
/Columns
PagerStyle Font-Names="VerDana" Font-Bold="True" HorizontalAlign="Right" ForeColor="Coral"
Mode="NumericPages"/PagerStyle
/ASP:datagrid/form
/body
/HTML


FastPaging_DataSet.ASPx.cs
--------------------------------------------------------------------------------------
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HTMLControls;
using System.Data.OleDb;
using System.Text;

namespace Paging
{
public class FastPaging_DataSet : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid DataGrid1;

const String QUERY_FIELDS = "*"; //要查询的字段
const String TABLE_NAME = "订单明细表"; //数据表名称
const String PRIMARY_KEY = "ID"; //主键字段
const String DEF_ORDER_TYPE = "ASC"; //默认排序方式
const String SEC_ORDER_TYPE = "DESC"; //可选排序方式
const String CONDITION = "产品ID='AV-CB-1'";

OleDbConnection conn;
OleDbCommand cmd;
OleDbDataAdapter da;

#region 属性

#region CurrentPageIndex
/// summary
/// 获取或设置当前页的索引。
/// /summary
public int CurrentPageIndex
{
get { return (int) ViewState["CurrentPageIndex"]; }
set { ViewState["CurrentPageIndex"] = value; }
}
#endregion

#region OrderType
/// summary
/// 获取排序的方式:升序(ASC)或降序(DESC)。
/// /summary
public String OrderType
{
get {
String orderType = DEF_ORDER_TYPE;
if (ViewState["OrderType"] != null) {
orderType = (String)ViewState["OrderType"];
if (orderType != SEC_ORDER_TYPE)
orderType = DEF_ORDER_TYPE;
}
return orderType;
}
set { ViewState["OrderType"] = value.ToUpper(); }
}
#endregion

#endregion

private void Page_Load(object sender, System.EventArgs e)
{
#region 实现
String strConn = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source="
+ Server.MapPath("Northwind.mdb");
conn = new OleDbConnection(strConn);
cmd = new OleDbCommand("",conn);
da = new OleDbDataAdapter(cmd);

if (!IsPostBack) {
// 设置用于自动计算页数的记录总数
DataGrid1.VirtualItemCount = GetRecordCount(TABLE_NAME);

CurrentPageIndex = 0;
BindDataGrid();
}
#endregion
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// summary
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// /summary
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

private void BindDataGrid()
{
#region 实现
// 设收藏 。

展开更多 50%)
分享

猜你喜欢

DataGrid连接Access的快速分页法(5)——实现快速分页

编程语言 网络编程
DataGrid连接Access的快速分页法(5)——实现快速分页

DataGrid基于Access的快速分页法

Web开发
DataGrid基于Access的快速分页法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

DataGrid连接Access的快速分页法(1)——需求与现状

编程语言 网络编程
DataGrid连接Access的快速分页法(1)——需求与现状

DataGrid 分页问题

ASP
DataGrid 分页问题

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

用DataGrid分页

电脑网络
用DataGrid分页

如何实现SQL Server 2005快速web分页

SQLServer
如何实现SQL Server 2005快速web分页

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

XML轻松学习手册(4)XML的术语之一

XML轻松学习手册(4)XML的术语之一

掌握部署 Access项目的方法

掌握部署 Access项目的方法
下拉加载更多内容 ↓