此分页方式与传统A 分页方式相仿。
DataGridPage.a x
<%@ Page language="c#" Codebehind="DataGridPage.a x.c quot; AutoEventWireup="false" Inherits=" etCRM.DataGridPage" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Tra itional//E quot; >
<HTML>
lt;HEAD>
<title>DataGridPage</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1" gt;
<meta name="CODE_LANGUAGE" Content="C#" gt;
<meta name="vs_defaultClientScript" content="JavaScript" gt;
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellise e/ie5" gt;
lt;/HEAD>
lt ody MS_POSITIONING="GridLayout" gt;
<form id="Form1" method=" ost" runat=" erver" gt;
<a :datagrid id="DataGrid1" runat=" erver" AlternatingItemStyle-BackColor="#eeeeee" HeaderStyle-BackColor="#aaaadd"
Font-Size="8pt" Font-Name="Verdana" CellPadding="3" BorderWidth="1px" BorderColor=" lack"
PagerStyle-HorizontalAlign="Right" PagerStyle-Mode=" umericPage quot;
PageSize="5" Font-Names="Verdana" Width="100%" gt;
<AlternatingItemStyle BackColor="#EEEEEE" gt lt;/AlternatingItemStyle>
<HeaderStyle BackColor="#AAAADD" gt lt;/HeaderStyle>
< agerStyle HorizontalAlign="Right" Mode=" umericPage quot gt lt;/PagerStyle>
</a :datagrid>
</form>
<TABLE cell acing="0" cellPadding="1" width="100%" bgColor="#aaaadd" border="0" gt;
<TBODY>
<TR>
<TD>
<TABLE cell acing="0" cellPadding="4" width="100%" bgColor="#fef8e2" border="0" gt;
<TBODY>
<TR>
<TD cla ="M" noWrap align="center" gt lt;a :Literal id="Literal1" runat=" erver" gt lt;/a :Literal> lt;/TD>
</TR>
<TR>
<TD cla ="C" noWrap align="center" gt lt;a :Literal id="Literal2" runat=" erver" gt lt;/a :Literal> lt;/TD>
</TR>
</TBODY>
</TABLE>
</TD>
</TR>
</TBODY>
</TABLE>
lt;/body>
</HTML>
DataGridPage.a x.cs
using System;
using System.Collectio
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.We
using System.Web.Se io tate;
using System.Web.UI;
using System.Web.UI.WebControl
using System.Web.UI.HtmlControl
name ace netCRM
{
/// < ummary>
/// DataGridPage 的摘要说明。
/// </summary>
ublic cla DataGridPage : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Literal Literal1;
protected System.Web.UI.WebControls.Literal Literal2;
protected System.Web.UI.WebControls.DataGrid DataGrid1;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!I ostBack)
{
BindGrid();
}
}
private void BindGrid()
{
string co tring = " erver=.;Database=NorthWind;User Id=sa a word= quot
string sql=" elect * from Order quot
SqlCo ection co = new SqlCo ection(co tring);
co .Open();
DataSet ds = new DataSet();
SqlDataAdapter sqlAdapter = new SqlDataAdapter(sql,co );
sqlAdapter.Fill(ds,"user quot;);
DataView dataview = new DataView();
dataview = ds.Tables[0].DefaultView;
DataGrid1.DataSource = ds.Tables[0].DefaultView;
DataGrid1.DataBind();
string cPage;
int pageSize = 10;
int currentPage;
int pageCount;
int numResults = 0;
if (Request.QueryString[" age"]==null)
{
cPage="1"
}
else
{
cPage=Request.QueryString[" age"].ToString();
}
try
{
currentPage = Int32.Parse(cPage);
}
catch
{
currentPage = 1;
}
numResults = 0;
int start = (int)((currentPage - 1) * pageSize);
int to = (int)(currentPage * pageSize);
if (start <= 0) start = 0;
numResults = dataview.Count;
int a1=0;
pageCount = Math.DivRem(numResults,pageSize,out a1);
if (a1>0)
{
pageCount++;
}
if(currentPage> ageCount || currentPage<=0)
{
currentPage = 1;
}
if(currentPage==pageCount)
{
to = dataview.Count;
}
// Create one DataTable with one column.
DataTable myTable = new DataTable("myTable");
myTable = dataview.Table.Clone();
//DataColumn colItem1 = new DataColumn(" ame",Type.GetType(" ystem.String"));
//DataColumn colItem2 = new DataColumn("type quot;,Type.GetType(" ystem.String"));
//DataColumn colItem3 = new DataColumn("vendor",Type.GetType(" ystem.String"));
//myTable.Colum .Add(colItem1);
//myTable.Colum .Add(colItem2);
//myTable.Colum .Add(colItem3);
//add row
DataRow NewRow;
for(int i=start;i< umResult i++)
{
if(i<to)
{
NewRow = myTable.NewRow();
for(int k=0;k<dataview.Table.Colum .Count;k++)
{
NewRow[k] = dataview.Table.Rows[i][k];
}
myTable.Rows.Add(NewRow);
}
}
myTable.AcceptChanges();
DataView resultDataview = new DataView(myTable);
DataGrid1.DataSource = resultDataview;
DataGrid1.DataBind();
/// < ummary>
/// 生成页导航条。
/// </summary>
string strNav = " quot
int endpage;
if (currentPage>1)
{
strNav += " lt;a href='?page="+ (currentPage-1).ToString() +"'>上一页</a> "
}
if (currentPage>11)
{
strNav += " lt;a href='?page=1'>1</a> ..."
}
if(pageCount>currentPage+10)
{
endpage = currentPage+10;
}
else
{
endpage = pageCount;
}
for (int i=currentPage-10;i<endpage+1;i++)
{
if(i>=1)
{
if (i==currentPage)
{
strNav +=" lt;font color=#990000> lt trong> quot;+ i.ToString() +" lt;/strong> lt;/font> "
}
else
{
strNav += " lt;a href='?page="+ i.ToString() +"'> quot;+ i.ToString() +" lt;/a> "
}
}
}
if((currentPage+10)< ageCount)
{
strNav += "... <a href='?page="+ pageCount.ToString() +"'> quot;+ pageCount.ToString() +" lt;/a> quot
}
if(currentPage< ageCount)
{
strNav += " <a href='?page="+ (currentPage+1).ToString() +"'>下一页</a> "
}
Literal1.Text = strNav
Literal2.Text = "共 "+ numResults.ToString() +" 条供应信息,当前显示第 "+
(start+1).ToString() +" - "+ to.ToString() +" 条,共 "+ pageCount.ToString() +" 页"
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 A .NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// < ummary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
相关文章
[错误报告] [推荐] [收藏] [打印] [关闭] [返回顶部]
RSS订阅
已有