1@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="Try1.WebForm1"
1<html>
2<head>
3<title>WebForm1</title>
4<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR"/>
5<meta content="C#" name="CODE_LANGUAGE"/>
6<meta content="JavaScript" name="vs_defaultClientScript"/>
7<meta content=" http://schemas.microsoft.com/intellisense/ie5 " name="vs_targetSchema"/>
8</head>
9<body>
10<form id="Form1" method="post" runat="server">
11<p><font face="宋体"></font> </p>
12<p>
13<asp:datagrid allowpaging="True" allowsorting="True" backcolor="White" bordercolor="#3366CC" borderstyle="None" borderwidth="1px" cellpadding="4" id="DataGrid1" pagesize="5" runat="server">
14<selecteditemstyle backcolor="#009999" font-bold="True" forecolor="#CCFF99"></selecteditemstyle>
15<itemstyle backcolor="White" forecolor="#003399"></itemstyle>
16<headerstyle backcolor="#003399" font-bold="True" forecolor="#CCCCFF"></headerstyle>
17<footerstyle backcolor="#99CCCC" forecolor="#003399"></footerstyle>
18<pagerstyle backcolor="#99CCCC" forecolor="#003399" horizontalalign="Left" mode="NumericPages" pagebuttoncount="6"></pagerstyle>
19</asp:datagrid></p>
20<p>
21<asp:panel id="Panel1" runat="server">
22<asp:linkbutton commandname="Previous" id="btnPrevious" runat="server"><=Previous</asp:linkbutton>
23<font face="宋体">
24<asp:linkbutton commandname="Next" id="btnNext" runat="server">Next=></asp:linkbutton>
25<asp:textbox columns="2" id="txtIndex" maxlength="2" runat="server" width="24px"></asp:textbox>
26<asp:button backcolor="Gainsboro" bordercolor="Silver" borderstyle="Solid" borderwidth="1px" id="btnGo" runat="server" text="Go!"></asp:button>
27<asp:label forecolor="Red" id="lblError" runat="server" visible="False">No that page!</asp:label></font>
28</asp:panel></p>
29<font face="宋体"></font>
30<asp:panel id="pnlIndex" runat="server">Panel</asp:panel>
31</form>
32</body>
33</html>
//-------后台代码---------------------------------
//-------使用的数据库是sqlserver2000示例数据库------
using System;
using System.Collections;
using System.ComponentModel;
using System.Configuration;
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.SqlClient;
namespace Try1
{
///
1<summary>
2/// WebForm1 的摘要说明。
3/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid DataGrid1;
private DataSet dsNorth;
protected System.Web.UI.WebControls.Panel Panel1;
protected System.Web.UI.WebControls.LinkButton btnPrevious;
protected System.Web.UI.WebControls.LinkButton btnNext;
//使用dataview,以实现排序效果
private DataView dvNorth;
protected System.Web.UI.WebControls.TextBox txtIndex;
protected System.Web.UI.WebControls.Button btnGo;
protected System.Web.UI.WebControls.Label lblError;
protected System.Web.UI.WebControls.Panel pnlIndex;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
LoadDataSet();
InitpnlIndex();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
///
1<summary>
2/// 设计器支持所需的方法 - 不要使用代码编辑器修改
3/// 此方法的内容。
4/// </summary>
private void InitializeComponent()
{
this.DataGrid1.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGrid1_PageIndexChanged);
this.DataGrid1.SortCommand += new System.Web.UI.WebControls.DataGridSortCommandEventHandler(this.DataGrid1_SortCommand);
this.btnPrevious.Click += new System.EventHandler(this.NavigationButtonClick);
this.btnNext.Click += new System.EventHandler(this.NavigationButtonClick);
this.btnGo.Click += new System.EventHandler(this.btnGo_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
//加载数据集
private void LoadDataSet()
{
SqlConnection cnNorth=new SqlConnection(ConfigurationSettings.AppSettings["cnNorth.ConnectionString"]);
string cmdString="SELECT * FROM Customers";
SqlDataAdapter adNorth=new SqlDataAdapter(cmdString,cnNorth);
cnNorth.Open();
dsNorth=new DataSet();
try
{
adNorth.Fill(dsNorth,"North");
}
catch
{
throw;
}
finally
{
cnNorth.Close();
}
dvNorth=new DataView();
dvNorth.Table=dsNorth.Tables["North"];
DataGrid1.DataSource=dvNorth;
DataGrid1.DataBind();
}
//初始化索引
private void InitpnlIndex()
{
pnlIndex.Controls.Clear();
int pageCount;
LinkButton btnIndex;
for (pageCount=0;pageCount
1<datagrid1.pagecount;pagecount++) "));="" "next":="" "previous":="" ;="" break;="" btngo_click(object="" btnindex="new" btnindex.click+="new" btnindex.commandname="pageCount.ToString();" btnindex.text="btnText.ToString();" btntext="pageCount+1;" case="" catch(exception="" datagrid1.currentpageindex="Math.Min(DataGrid1.CurrentPageIndex+1,DataGrid1.PageCount-1);" datagrid1.databind();="" datagrid1_pageindexchanged(object="" datagrid1_sortcommand(object="" default:="" direction="((LinkButton)sender).CommandName;" e)="" eventhandler(this.indexbuttonclick);="" ex)="" finally="" if(pageindex="" indexbuttonclick(object="" int="" lblerror.text="No that page!" lblerror.visible="false;" linkbutton();="" literalcontrol("="" navigationbuttonclick(object="" pageindex="Convert.ToInt32(txtIndex.Text);" pnlindex.controls.add(btnindex);="" pnlindex.controls.add(new="" private="" sender,="" sender,system.eventargs="" source,="" string="" switch(direction.toupper())="" system.eventargs="" system.web.ui.webcontrols.datagridpagechangedeventargs="" system.web.ui.webcontrols.datagridsortcommandeventargs="" this.dvnorth.sort="e.SortExpression;" try="" void="" {="" }="" 去第几页效果="" 排序效果实现="" 索引单击效果="" 翻页效果="">0&&pageIndex<=DataGrid1.PageCount)
2{
3try
4{
5DataGrid1.CurrentPageIndex=Math.Min(DataGrid1.PageCount,pageIndex-1);
6DataGrid1.DataBind();
7}
8catch
9{
10lblError.Visible=true;
11
12}
13finally
14{
15lblError.Visible=false;
16}
17}
18else
19{
20lblError.Visible=true;
21}
22}
23
24}
25}
26
27</datagrid1.pagecount;pagecount++)>