首页 > 语言 > 关键词 > 方式最新资讯 > 正文

ASP.NET技巧:DataGrid传统分页方式

2007-08-06 11:04 · 稿源:网页教学网

分页方式与传统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="https://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='?page="+ (currentPage-1).ToString() +"'>上一页</a>  ";
   }
   if (currentPage>11)
   {
    strNav += "<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 +="<font color=#990000><strong>"+ i.ToString() +"</strong></font> ";
     }
     else
     {
      strNav += "<a href='?page="+ i.ToString() +"'>"+ i.ToString() +"</a> ";
     }
    }
   }
   if((currentPage+10)<pageCount)
   {
    strNav += "... <a href='?page="+ pageCount.ToString() +"'>"+ pageCount.ToString() +"</a>";
   }
   if(currentPage<pageCount)
   {
    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: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {   
   this.Load += new System.EventHandler(this.Page_Load);
  }
  #endregion
 }
}

  • 相关推荐
  • 大家在看
  • 抖音签名添加联系方式 抖音主页怎么添加联系方式

    抖音在主页是一个账号展示自己信息最齐全的位置,因此有不少人喜欢在主页上添加自己的联系方式,具体有哪些方式可以添加联系方式又比较美观不会显得比较突兀呢,我们来看下具体的添加联系方式。

  • 抢占创业先机,解析“鲸喜汇”门店经营新方式!

    近年来,随着电商行业的兴起,实体门店饱受冲击。许多门店老板面临客源、现金流、员工管理等一系列难题,为了帮助他们化解门店经营危机,鲸喜汇在 2020 年正式推出会员制运营系统,得到行业老板们的鼎力支持。2020 年鲸喜汇团队进行品牌全面升级,成为国内知名的门店管理软件供应商,专注于提供门店运营解决方案。据了解,鲸喜汇拥有健全的新会员店商联盟体系,能持续赋能实体商家,不仅为门店提供品牌、技术、培训、服务、运营、?

  • 苹果改变配送方式,开始直接从自家零售店发货

    苹果正在改变向消费者配送设备的方式,该公司现在将利用庞大的零售店作为产品配送中心,将产品直接从商店发货,以更快地到达客户手中。

  • 易点租引领企业循环经济新方式

    近年,我国社会、经济的高速发展一方面带来了电子设备产品的需求量和产销量大增,另一方面也带来了大量电子垃圾的产生。据国际电信联盟、联合国大学等联合发布的《 2017 全球电子废弃物监测报告》显示:中国人每年淘汰超过 1 亿台电脑。 2017 年,我国产生电子垃圾总量高达 720 万吨,预计到 2030 年将增长到 2700 万吨,其中企业级电子设备产品的消耗量占其中大部分的比重。事实上,电脑基本没有用到完全损坏才报废的。电脑零件的

  • 呱呱阅读探索更有效的儿童英语阅读方式

    家长们虽然越来越重视孩子的学前教育,愿意将更多的资金投入到启蒙教育之中,让孩子在幼年时期就将学习天赋充分的发挥出来,但同时又由于较快的生活节奏,父母能够陪伴和教育孩子时间却比较少。在艾瑞咨询的一项关于亲子陪伴质量的报告显示,中国父母每天陪伴孩子的时间平均仅3.2小时。这也说明了很多家长难以投入全部的身心对孩子的教育,选择使用一些工具进行辅助是比较明智的选择。很多家长都会选择给孩子做英语启蒙,但做英语启蒙的同

  • 除了“假靳东”,我们盘点了5种“短视频骗流”方式……

    ​近期,一条用明星靳东的公开视频或照片做画面,配上其他声音引导用户关注、点赞的短视频剪辑内容,在近期成为了一场新闻的主角。

  • 视频号直播上线!这可能是微信最简单的直播方式

    微信怎么直播?如果你是幸运的灰度测试用户,那你可以体验到最新的「群直播」功能,不过直播间不支持转发;如果你有自己的微信小程序,那么可以在小程序里开启直播;当然,最常规的方式可能是通过企业微信或三方直播平台,以宣传图或 H5 链接分享邀请好友进入直播间。

  • 风变编程:失业潮下,编程如何改变人类的生活和工作方式?

    去年年底,网上流传过一个段子:2019年可能会是过去十年里最差的一年,但却是未来十年里最好的一年。如今看来,段子已成现实。4月17日,国家统计局公布,今年一季度GDP为20.65万亿元,同比下降6.8%;后来,关于万达、蘑菇街各大企业纷纷“调整人事架构”的消息不胫而走。国外形势也不容乐观。截至目前,美国失业人数达到2200万,相当于全国约1/7的员工。无论如何,风变编程认为,这次突发的疫情像是给温水煮青蛙的人们提了个醒:千

  • 自媒体引流最高效的3种引流方式,干货满满

    现在互联网各个公司,各个项目都需要做引流,做生意,最主要是客户,如果没有客户你卖给谁呢?

  • 恢复微信记录的方式有哪些?你删掉的记录,10分钟就能恢复!

    恢复微信记录的方式有哪些?最近微信记录恢复成了比较流行的话题,因为微信记录一旦删除,恢复起来非常困难,所以好友之间经常交流一些恢复方法,希望从中找到最专业靠谱的恢复方法。小编也参与了恢复交流,并从中获得三个专业简单的恢复方式,大家可以参考使用一下,其中一种不仅可以恢复微信记录,其他的通讯录,微信好友,备忘录等都是可以恢复的哦。方式一、利用电脑PC端恢复恢复微信记录的方式有哪些?微信记录的恢复可以利用微

  • 微软称Office 2022已在路上 继续是永久授权方式

    据外媒Neowin报道称,微软已经表示,新版Office在来的路上,其可能冠以Office 2022的名称。报道中提到,微软称新版Office将适用于Windows和Mac,同时依然会是永久授权的方式,而三年的Ignite大

  • 魔珐科技打造虚拟IP全新互动方式,助力实现IP方与品牌方共赢

    一年一度的LEC全球授权展于 10 月10- 12 日在国家会展中心(上海)召开,来自全球的授权专业人士齐聚一堂,覆盖动漫形象、影视、文博艺术、网络文学、娱乐、游戏、出版、企业品牌、体育等全行业授权类别。本次授权展上,魔珐科技作为虚拟IP的全流程打造者和赋能者,引起了业内不少关注。AI技术赋能,实现IP运营方式大升级早期的IP方进行IP运营打造,更多的是通过小说、漫画、动画番剧、影视等单一链路实现IP养成,运营周期长,成本高

  • 只吃蔬菜水果减肥是健康的减肥方式吗 小鸡宝宝考考你今天答案是什么

    ​2020年10月2日,支付宝的小鸡宝宝考考你的问题是大家常常遇到的,问题是“只吃蔬菜水果减肥是健康的减肥方式吗?”其实如果健身过的朋友都知道这是不好的,反而是不健身的人可能会选择错答案,下面就来为大家分享一下答案。

  • 老虎证券基金超市:用简单的方式投资全球科技巨头

    2020 年,新冠疫情对全球资产市场带来的冲击令不少投资者愈发关注资产配置。如何合理管理财富、调整投资品类的比重,以便在市场不确定性增大的大背景下,更有效地抵御市场波动成为当下的关键。为了满足投资者全球化资产配置的需求、丰富其投资选择的多样性,知名美港股券商老虎证券于 2020 年宣布正式进军财富管理,推出全新理财功能“基金超市(Fund Mall)”。该功能旨在为投资者提供一站式的全球基金投资服务,据悉,目前已有超1

  • 微信聊天记录如何彻底删除?想要不被恢复,Get科学删除方式!

    微信聊天记录如何彻底删除?我们现在几乎每个人每天都要用到的软件就是微信了,我们日常会使用非常多的情况下,微信里的数也就会储存很多。那么当你想要删除这些数据的时候,拿微信聊天记录来说,难道左滑删除就真的删除了么?其实并不然。那么如何操作才可以彻底清除呢?别急,小编今天带来了好方法。想要不被恢复,以下的科学删除方式你必须Get!删除方法一:微信卸载法 微信聊天记录如何彻底删除?首先我们可以卸载微信软件,操作后,微信产?

  • 开言英语怎么样——教学与真实场景互动,带来英语学习新方式

    随着英语的普及,生活中需要用英语交流的场景也变得越来越多,想要在短时间内提升自己的英语水平,根本离不开一款好的辅助软件。最近很火的一款主打专为成年人设计的APP——开言英语,点击率一路领先。在不断爆红的背后,也有很多人发表疑问,开言英语到底怎么样?其实,开言英语是一款北美主播情景对话式英语学习APP。采用的都是模拟真实场景对话,提倡场景化的学习,让语言学习在真实的情景下进行。开言英语还会实时更新课程内容

  • 马云向百名名校校长分享领导力心得:用做CEO的方式做校长

    近日,马云向百名名校校长分享领导力心得“要用做CEO的方式做校长,主要精力放在三个方面,一是要思考学校未来发展的战略,二是老师的成长和组织建设、学校文化的培养,三是整合社会资源。”

  • 羊奶粉排行榜之首佳贝艾特,解锁公益新方式给困境宝宝送关怀

    我们都知道儿童时期的营养非常关键,孩子营养不足,不仅生长缓慢,甚至会导致骨骼和智力缺陷……而这样的缺陷将会影响他们的一生。有研究报告,全球每年死亡的1000多万5岁以下儿童中,有50%左右直接或间接与营养不良有关。羊奶粉排行榜之首佳贝艾特羊奶粉,解锁公益新方式,为困境婴幼儿送去一杯纯正好羊奶,用微笑助力营养脱贫。羊奶粉排行榜之首佳贝艾特解锁公益新形式联合国发布的《世界粮食安全和营养状况2018年报告》显示:全

  • 报告称寄快递成年轻人生活方式 95后男生更爱寄美妆

    9月21日消息,日前,DT财经对外发布《2020年轻人快递生活图鉴》,内容显示,年轻人的消费、工作、社交已离不开快递。数据显示,近四成年轻人最近寄出过闲置物品,闲置经济成为2020年轻人一大特征。报告称,美妆、家电家居和数码手机是年轻人的硬通货。美妆也成为交友新方式。数据显示,95后男生寄美妆多于女性,其中20%是寄给朋友。不过,这种交友方式存在一定风险,因为其中40%用于了退换货和闲置交易。同时,寄快递?

  • 解锁零售新方式,品今控股集团旗下品牌Buy Sweet开业

    随着消费行业的发展,相比于传统的零售方式,一些更加浸入式、更加智能的销售方式成为消费者心目中的首选,实际上,零售方式的发展也远比我们想象中更快。从品今控股集团旗下臂湾自有品牌Buy Sweet的开业我们也可见一斑。Buy Sweet 主张打造“目录式+体验式+顾问式”线上线下全渠道母婴消费场景,6月28日,品今控股集团旗下臂湾自有品牌Buy Sweet全球母婴零售品牌朝外SOHO旗舰店正式在北京CBD商圈开业,这标志着由臂湾科技有限公司

  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议
  • 热门标签