惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Threat Research - Cisco Blogs
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
月光博客
月光博客
V
Vulnerabilities – Threatpost
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
S
Secure Thoughts
Microsoft Azure Blog
Microsoft Azure Blog
Blog — PlanetScale
Blog — PlanetScale
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
T
Tailwind CSS Blog
S
SegmentFault 最新的问题
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
云风的 BLOG
云风的 BLOG
The Last Watchdog
The Last Watchdog
L
LINUX DO - 热门话题
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
AWS News Blog
AWS News Blog
美团技术团队
G
Google Developers Blog
宝玉的分享
宝玉的分享
www.infosecurity-magazine.com
www.infosecurity-magazine.com
C
CXSECURITY Database RSS Feed - CXSecurity.com
Recent Commits to openclaw:main
Recent Commits to openclaw:main
I
InfoQ
小众软件
小众软件
Google DeepMind News
Google DeepMind News
P
Privacy & Cybersecurity Law Blog
Stack Overflow Blog
Stack Overflow Blog
Webroot Blog
Webroot Blog
D
DataBreaches.Net
IT之家
IT之家
PCI Perspectives
PCI Perspectives
人人都是产品经理
人人都是产品经理
Hacker News: Ask HN
Hacker News: Ask HN
L
LangChain Blog
SecWiki News
SecWiki News
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Cisco Blogs
T
Threatpost
P
Proofpoint News Feed
Y
Y Combinator Blog
Cloudbric
Cloudbric
T
Tor Project blog
量子位
博客园_首页
B
Blog
Hugging Face - Blog
Hugging Face - Blog
GbyAI
GbyAI
D
Darknet – Hacking Tools, Hacker News & Cyber Security

博客园 - Achilles.NET

路过 通过javascript获得当前窗口页面的宽高度 SQL SERVER设置重新构造字段值大小写敏感 - Achilles.NET - 博客园 修改SQL默认不区分大小写字段值规则 [转帖]Transact-SQL编程规范 Version 1.1 C#调用存储过程返回值 - Achilles.NET - 博客园 Ghost备份后找不到gho镜像文件的解决办法 GridView数据突出颜色显示解决办法 GridView中空记录不显示表头的解决方案[作者不祥] Temple js控制标题闪动 山西DOT NET俱乐部 WEB弹出窗口打印 打印脚本 妻子让老公死心塌地的绝招 下班无聊,随便YY const(C# 参考) ERP──Enterprise Resource Planning 企业资源计划系统 extern(C# 参考)
DataGrid分页
Achilles.NET · 2007-04-13 · via 博客园 - Achilles.NET

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