动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP.NET技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ ASP.NET技巧 ]的信息

本月文章推荐
.打造通用ASP.NET数据分页控件.
.无限级分类的非递归实现(存储过程.
.ASP.NET基本编程习惯.
.asp.net 1.1/ 2.0 中快速实现单点.
.ASP.net组件编程中的两种事件编写.
..NET环境下几种不同的邮件发送解.
.在ASP.NET访问Excel文件 (VB and.
.ActiveReports for .NET 简单使用.
.2个页面间不通过Session与url的传.
.ASP.NET中散列加密密码.
.在ASP.NET Atlas中创建自定义的B.
.通过Remoting service上传文件.
.用ObjectDataSource实现自定义分.
.[DataGird]如何截取过长的字符串.
.正则表达式提取数字.
.如何在asp.net2.0下面使用基于数.
.一个关于session使用的讨论.
.解析Asp.net中资源本地化的实现.
.ASP.NET中数据校验部分的封装与应.
.在ASP.NET应用中插入flash动画.

一个功能齐全的DataGrid分页例子

发表日期:2004-10-21 |


C#版本

DataGridPaging.aspx

<%@ Page language="c#" EnableViewState = "true" Codebehind="DataGridPaging.aspx.cs"
 AutoEventWireup="false" Inherits="eMeng.Exam.DataGridPaging.DataGridPaging" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<meta content="Visual Basic 7.0" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" runat="server">
<asp:datagrid id="MyDataGrid" runat="server" AutoGenerateColumns="False"
 HorizontalAlign="Center" AlternatingItemStyle-BackColor="#eeeeee"
 HeaderStyle-BackColor="#aaaadd" Font-Size="8pt" Font-Name="Verdana"
 CellSpacing="0" CellPadding="3" GridLines="Both" BorderWidth="1"
 BorderColor="black" OnPageIndexChanged="MyDataGrid_Page" PagerStyle-HorizontalAlign="Right"
 PagerStyle-Mode="NumericPages" PageSize="5" AllowPaging="True">
  <AlternatingItemStyle BackColor="#EEEEEE"></AlternatingItemStyle>
  <HeaderStyle BackColor="#AAAADD" Font-Bold="True" HorizontalAlign="Center"></HeaderStyle>
  <PagerStyle HorizontalAlign="Right" Mode="NumericPages"></PagerStyle>
  <Columns>
  <asp:BoundColumn HeaderText="标题" DataField="Title" HeaderStyle-Width="480px">
  </asp:BoundColumn>
  <asp:BoundColumn HeaderText="发表日期" DataField="CreateDate" DataFormatString="{0:yyyy-MM-dd hh:mm:ss}">
  </asp:BoundColumn>
  </Columns>
</asp:datagrid>
<p style="FONT-SIZE:9pt" align="center">
  <asp:label id="lblPageCount" runat="server"></asp:label>&nbsp;
  <asp:label id="lblCurrentIndex" runat="server"></asp:label>
  <asp:linkbutton id="btnFirst" onclick="PagerButtonClick" runat="server" Font-Name="verdana"
   Font-size="8pt" ForeColor="navy" CommandArgument="0"></asp:linkbutton>&nbsp;
  <asp:linkbutton id="btnPrev" onclick="PagerButtonClick" runat="server" Font-Name="verdana"
   Font-size="8pt" ForeColor="navy" CommandArgument="prev"></asp:linkbutton>&nbsp;
  <asp:linkbutton id="btnNext" onclick="PagerButtonClick" runat="server" Font-Name="verdana"
   Font-size="8pt" ForeColor="navy" CommandArgument="next"></asp:linkbutton>&nbsp;
  <asp:linkbutton id="btnLast" onclick="PagerButtonClick" runat="server" Font-Name="verdana"
   Font-size="8pt" ForeColor="navy" CommandArgument="last"></asp:linkbutton>
</p>
</form>
</body>
</HTML>

DataGridPaging.aspx.cs

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace eMeng.Exam.DataGridPaging
{
/// <summary>
/// DataGridPaging 的摘要说明。
/// </summary>
public class DataGridPaging : System.Web.UI.Page
{
 protected System.Web.UI.WebControls.DataGrid MyDataGrid;
 protected System.Web.UI.WebControls.Label lblPageCount;
 protected System.Web.UI.WebControls.Label lblCurrentIndex;
 protected System.Web.UI.WebControls.LinkButton btnFirst;
 protected System.Web.UI.WebControls.LinkButton btnPrev;
 protected System.Web.UI.WebControls.LinkButton btnNext;
 protected System.Web.UI.WebControls.LinkButton btnLast;
 private OleDbConnection cn = new OleDbConnection();

private void Page_Load(object sender, System.EventArgs e)
{
  // 在此处放置用户代码以初始化页面
  btnFirst.Text = "最首页";
  btnPrev.Text = "前一页";
  btnNext.Text = "下一页";
  btnLast.Text = "最后页";
  OpenDatabase();
  BindGrid();
}
private void OpenDatabase()
{
 cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("xxxx.mdb");
 cn.Open();
}
private void ShowStats()
{
 lblCurrentIndex.Text = "第 " + (MyDataGrid.CurrentPageIndex + 1).ToString() + " 页";
 lblPageCount.Text = "总共 " + MyDataGrid.PageCount.ToString() + " 页";
}

public void PagerButtonClick(object sender, EventArgs e)
{
 string arg = ((LinkButton)sender).CommandArgument.ToString();
 switch(arg)
 {
  case "next":
   if (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1))
   {
    MyDataGrid.CurrentPageIndex += 1;
   }
   break;
  case "prev":
   if (MyDataGrid.CurrentPageIndex > 0)
   {
    MyDataGrid.CurrentPageIndex -= 1;
   }
   break;
  case "last":
   MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1);
   break;
  default:
   MyDataGrid.CurrentPageIndex = System.Convert.ToInt32(arg);
   break;
 }
 BindGrid();
 ShowStats();
}
public void BindGrid()
{
 OleDbConnection myConnection = cn;
 DataSet ds  = new DataSet();
 OleDbDataAdapter adapter  = new OleDbDataAdapter("Select Title,CreateDate from Document", myConnection);
 adapter.Fill(ds, "Document");
 MyDataGrid.DataSource = ds.Tables["Document"].DefaultView;
 MyDataGrid.DataBind();
 ShowStats();
}
public void MyDataGrid_Page(object sender, DataGridPageChangedEventArgs e)
{
 int startIndex ;
 startIndex = MyDataGrid.CurrentPageIndex * MyDataGrid.PageSize;
 MyDataGrid.CurrentPageIndex = e.NewPageIndex;
 BindGrid();
 ShowStats();
}

#region Web Form Designer generated code
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
}
}


VB.NET版本

DataGridPaging.aspx

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="DataGridPaging.aspx.vb" Inherits="DataGridPaging"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
  <HEAD>
    <meta content="Visual Basic 7.0" name="CODE_LANGUAGE">
    <meta content="JavaScript" name="vs_defaultClientScript">
    <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
  </HEAD>
  <body MS_POSITIONING="GridLayout">
    <form id="Form1" runat="server">
      <asp:datagrid id="MyDataGrid" runat="server" AlternatingItemStyle-BackColor="#eeeeee"
    HeaderStyle-BackColor="#aaaadd" Font-Size="8pt" Font-Name="Verdana" CellSpacing="0"
     CellPadding="3" GridLines="Both" BorderWidth="1" BorderColor="black"
   OnPageIndexChanged="MyDataGrid_Page" PagerStyle-HorizontalAlign="Right"
    PagerStyle-Mode="NumericPages" PageSize="5" AllowPaging="True">
        <AlternatingItemStyle BackColor="#EEEEEE"></AlternatingItemStyle>
        <HeaderStyle BackColor="#AAAADD"></HeaderStyle>
        <PagerStyle HorizontalAlign="Right" Mode="NumericPages"></PagerStyle>
      </asp:datagrid>
      <p style="font-size:9pt">
        <asp:label id="lblPageCount" runat="server"></asp:label>&nbsp;
        <asp:label id="lblCurrentIndex" runat="server"></asp:label>
        <asp:linkbutton id="btnFirst" onclick="PagerButtonClick" runat="server"
   Font-Name="verdana" Font-size="8pt" ForeColor="navy" CommandArgument="0">
   </asp:linkbutton>&nbsp;
        <asp:linkbutton id="btnPrev" onclick="PagerButtonClick" runat="server"
   Font-Name="verdana" Font-size="8pt" ForeColor="navy" CommandArgument="prev">
   </asp:linkbutton>&nbsp;
        <asp:linkbutton id="btnNext" onclick="PagerButtonClick" runat="server"
   Font-Name="verdana" Font-size="8pt" ForeColor="navy" CommandArgument="next">
   </asp:linkbutton>&nbsp;
        <asp:linkbutton id="btnLast" onclick="PagerButtonClick" runat="server"
   Font-Name="verdana" Font-size="8pt" ForeColor="navy" CommandArgument="last">
   </asp:linkbutton>
      </p>
    </form>
  </body>
</HTML>

DataGridPaging.aspx.vb

Imports System.Data.SqlClient
Imports System.Data
Imports System.Web.UI

Public Class DataGridPaging
  Inherits System.Web.UI.Page

  Protected WithEvents MyDataGrid As System.Web.UI.WebControls.DataGrid
  Protected WithEvents btnFirst As System.Web.UI.WebControls.LinkButton
  Protected WithEvents btnPrev As System.Web.UI.WebControls.LinkButton
  Protected WithEvents btnNext As System.Web.UI.WebControls.LinkButton
  Protected WithEvents btnLast As System.Web.UI.WebControls.LinkButton
  Protected WithEvents lblCurrentIndex As System.Web.UI.WebControls.Label
  Protected WithEvents lblPageCount As System.Web.UI.WebControls.Label
  Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid

#Region " Web Form Designer Generated Code "

  'This call is required by the Web Form Designer.
  <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

  End Sub

  Private Sub Page_Init(ByVal sender As System.Object,_
   ByVal e As System.EventArgs) Handles MyBase.Init
    'CODEGEN: This method call is required by the Web Form Designer
    'Do not modify it using the code editor.
    InitializeComponent()
  End Sub

#End Region

  Private Sub Page_Load(ByVal sender As System.Object,_
   ByVal e As System.EventArgs) Handles MyBase.Load
    btnFirst.Text = "最首页"
    btnPrev.Text = "前一页"
    btnNext.Text = "下一页"
    btnLast.Text = "最后页"
    OpenDatabase()
    BindGrid()
  End Sub


  Sub MyDataGrid_Page(ByVal sender As Object, ByVal e As DataGridPageChangedEventArgs)
    Dim startIndex As Integer
    startIndex = MyDataGrid.CurrentPageIndex * MyDataGrid.PageSize
    MyDataGrid.CurrentPageIndex = e.NewPageIndex
    BindGrid()
    ShowStats()
  End Sub

  Sub BindGrid()
    Dim myConnection As SqlConnection = cn
    Dim ds As DataSet = New DataSet()
    Dim adapter As SqlDataAdapter = New SqlDataAdapter("Select * from Orders", myConnection)
    adapter.Fill(ds, "Orders")
    MyDataGrid.DataSource = ds.Tables("Orders").DefaultView
    MyDataGrid.DataBind()
    ShowStats()

  End Sub

  Sub PagerButtonClick(ByVal sender As Object, ByVal e As EventArgs)
    'used by external paging UI
    Dim arg As String = sender.CommandArgument

    Select Case arg
      Case "next"
        If (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1)) Then
          MyDataGrid.CurrentPageIndex += 1
        End If
      Case "prev"
        If (MyDataGrid.CurrentPageIndex > 0) Then
          MyDataGrid.CurrentPageIndex -= 1
        End If
      Case "last"
        MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1)
      Case Else
        'page number
        MyDataGrid.CurrentPageIndex = System.Convert.ToInt32(arg)
    End Select
    BindGrid()
    ShowStats()
  End Sub

  Sub ShowStats()
    lblCurrentIndex.Text = "第 " + (MyDataGrid.CurrentPageIndex + 1).ToString() + " 页"
    lblPageCount.Text = "总共 " + MyDataGrid.PageCount.ToString() + " 页"
  End Sub

 Public cn As New SqlClient.SqlConnection()
  Public Sub OpenDatabase()
    cn.ConnectionString = "Server=.;Database=NorthWind;User Id=sa;Password=;"
    cn.Open()
  End Sub
End Class

上一篇:ASP.net组件编程中的两种事件编写方法 人气:10965
下一篇:保存图片流到数据库之后固定显示新法 人气:15456
浏览全部DataGrid的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-5 Coppermine Photo Gallery v1.4.
2008-9-5 清松网络日记本 v2.4
2008-9-5 AyWeb企业网站管理系统 v2.3 bui
2008-9-5 美女写真小偷程序联盟 v3.0 buil
2008-9-5 老Y文章管理系统 v2.1
2008-9-5 SiteDynamic企业网站管理系统 v1
2008-9-5 MyCOM企业网站管理系统 v1.0 Bui
2008-9-5 乐风CMS影视版 2008
2008-9-5 幻影电影视频系统TvsCms v1.3 伪
2008-8-23 Mini WinMount V0.4
2008-8-23 Vista优化大师3.11正式版
2008-8-23 Wine 1.13
2008-8-23 KlipFolio 5.0 Build 5899-80
2008-8-23 Windows Sysinternals Desktops
2008-8-23 OneTap Movies1.2破解版
2008-8-23 AnnotaterPDF阅读1.1.503 破解版
2008-8-23 SoundMeter分贝测量仪 v1.0汉化破
2008-8-23 iDrum音乐节拍1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵