欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【ASP.NET技巧:DataGrid传统分页方式】,下面是详细的分享!
ASP.NET技巧:DataGrid传统分页方式
此分页方式与传统ASP分页方式相仿。
DataGridPage.aspx
| 以下为引用的内容: <%@ Page language="c#" Codebehind="DataGridPage.aspx.cs" AutoEventWireup="false" Inherits="netCRM.DataGridPage" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <HEAD> <title>DataGridPage</title> <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1"> <meta name="CODE_LANGUAGE" Content="C#"> <meta name="vs_defaultClientScript" content="JavaScript"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> </HEAD> <body MS_POSITIONING="GridLayout"> <form id="Form1" method="post" runat="server"> <asp:datagrid id="DataGrid1" runat="server" AlternatingItemStyle-BackColor="#eeeeee" HeaderStyle-BackColor="#aaaadd" Font-Size="8pt" Font-Name="Verdana" CellPadding="3" BorderWidth="1px" BorderColor="Black" PagerStyle-HorizontalAlign="Right" PagerStyle-Mode="NumericPages" PageSize="5" Font-Names="Verdana" Width="100%"> <AlternatingItemStyle BackColor="#EEEEEE"></AlternatingItemStyle> <HeaderStyle BackColor="#AAAADD"></HeaderStyle> <PagerStyle HorizontalAlign="Right" Mode="NumericPages"></PagerStyle> </asp:datagrid> </form> <TABLE cellSpacing="0" cellPadding="1" width="100%" bgColor="#aaaadd" border="0"> <TBODY> <TR> <TD> <TABLE cellSpacing="0" cellPadding="4" width="100%" bgColor="#fef8e2" border="0"> <TBODY> <TR> <TD class="M" noWrap align="center"><asp:Literal id="Literal1" runat="server"></asp:Literal></TD> </TR> <TR> <TD class="C" noWrap align="center"><asp:Literal id="Literal2" runat="server"></asp:Literal></TD> </TR> </TBODY> </TABLE> </TD> </TR> </TBODY> </TABLE> </body> </HTML> |
DataGridPage.aspx.cs
| 以下为引用的内容: using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Data.SqlClient; 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 netCRM { /// <summary> /// DataGridPage 的摘要说明。 /// </summary> public class 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(!IsPostBack) { BindGrid(); } } private void BindGrid() { string connstring="Server=.;Database=NorthWind;User Id=sa;Password=;"; string sql="Select * from Orders"; SqlConnection conn=new SqlConnection(connstring); conn.Open(); DataSet ds=new DataSet(); SqlDataAdapter sqlAdapter=new SqlDataAdapter(sql,conn); sqlAdapter.Fill(ds,"users"); 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["page"]==null) { cPage="1"; } else { cPage=Request.QueryString["page"].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>pageCount || 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("name",Type.GetType("System.String")); //DataColumn colItem2=new DataColumn("types",Type.GetType("System.String")); //DataColumn colItem3=new DataColumn("vendor",Type.GetType("System.String")); //myTable.Columns.Add(colItem1); //myTable.Columns.Add(colItem2); //myTable.Columns.Add(colItem3); //add row DataRow NewRow; for(int i=start;i<numResults;i++) { if(i<to) { NewRow=myTable.NewRow(); for(int k=0;k<dataview.Table.Columns.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(); /// <summary> /// 生成页导航条。 /// </summary> string strNav=""; int endpage; if (currentPage>1) { strNav +="<a href='http://www.chinaz.com/program/2007/0806/?page="+ (currentPage-1).ToString() +"'>上一页</a> "; } if (currentPage>11) { strNav +="<a href='http://www.chinaz.com/program/2007/0806/?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 +="<font color=#990000><strong>"+ i.ToString() +"</strong></font> "; } else { strNav +="<a href='http://www.chinaz.com/program/2007/0806/?page="+ i.ToString() +"'>"+ i.ToString() +"</a> "; } } } if((currentPage+10)<pageCount) { strNav +="... <a href='http://www.chinaz.com/program/2007/0806/?page="+ pageCount.ToString() +"'>"+ pageCount.ToString() +"</a>"; } if(currentPage<pageCount) { strNav +=" <a href='http://www.chinaz.com/program/2007/0806/?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: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.Load +=new System.EventHandler(this.Page_Load); } #endregion } } |
以上所分享的是关于ASP.NET技巧:DataGrid传统分页方式,下面是编辑为你推荐的有价值的用户互动:
相关问题:jquery easyui DataGrid 分页流程
答:前台 //数据加载 $('#d').datagrid({ url:'list', width: 1000, height: 'auto', nowrap:true, toolbar:'#tb', loadMsg:'数据加载中,请稍后...', pageSize:20, rownumbers:true, pagination:true, fit:true, striped:true //交替显示行背景 }); ... >>详细
相关问题:asp.net+easyui怎么实现datagrid分页功能
答:http://www.cnblogs.com/y-jp/archive/2012/07/27/2612404.html http://www.cnblogs.com/luminji/p/3294439.html >>详细
相关问题:asp.net中Datagrid分页用法
答: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.W... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
