CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

分页问题,求求你们了

楼主linseng129(IT届的菜鸟)2004-12-02 13:57:06 在 .NET技术 / ASP.NET 提问

html代码:  
  <%@   Page   Language="vb"   AutoEventWireup="false"   Codebehind="ShowAccount.aspx.vb"   Inherits="CASHL.ShowAccount"%>  
  <!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN">  
  <HTML>  
  <HEAD>  
  <title>ShowAccount</title>  
  <meta   content="Microsoft   Visual   Studio   .NET   7.1"   name="GENERATOR">  
  <meta   content="Visual   Basic   .NET   7.1"   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">  
  <FONT   face="宋体">  
  <asp:datagrid   id="DataGrid1"   style="Z-INDEX:   101;   LEFT:   40px;   POSITION:   absolute;   TOP:   168px"  
  runat="server"   Width="700px"   BackColor="#CCCCFF"   BorderColor="Black"   BorderStyle="None"   HeaderStyle-BackColor="#aaaadd"  
  Font-Size="8"   Font-Name="verdana"   CellSpacing="0"   CellPadding="3"   ShowFooter="True"   AllowCustomPaging="True"  
  PageSize="5"   OnPageIndexChanged="DataGrid1_Page"   PagerStyle-HorizontalAlign="Right"  
      PagerStyle-Mode="NumericPages"   AllowPaging="True">  
  <HeaderStyle   BackColor="#AAAADD"></HeaderStyle>  
  </asp:datagrid></FONT>  
  <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>  
   
  vb代码:  
   
  Imports   System.Data.SqlClient  
  Imports   System.Data  
  Imports   System.Web.UI  
   
  Public   Class   ShowAccount  
          Inherits   System.Web.UI.Page  
   
  #Region   "   Web   窗体设计器生成的代码   "  
   
          '该调用是   Web   窗体设计器所必需的。  
          <System.Diagnostics.DebuggerStepThrough()>   Private   Sub   InitializeComponent()  
   
          End   Sub  
          Protected   WithEvents   DataGrid1   As   System.Web.UI.WebControls.DataGrid  
          Protected   WithEvents   lblPageCount   As   System.Web.UI.WebControls.Label  
          Protected   WithEvents   lblCurrentIndex   As   System.Web.UI.WebControls.Label  
          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  
   
          '注意:   以下占位符声明是   Web   窗体设计器所必需的。  
          '不要删除或移动它。  
          Private   designerPlaceholderDeclaration   As   System.Object  
   
          Private   Sub   Page_Init(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   MyBase.Init  
                  'CODEGEN:   此方法调用是   Web   窗体设计器所必需的  
                  '不要使用代码编辑器修改它。  
                  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   =   "最后页"  
                  'DataGrid1.SelectedIndex   =   -1  
                  OpenDatabase()  
                  BindGrid()  
          End   Sub  
   
          Sub   DataGrid1_Page(ByVal   sender   As   Object,   ByVal   e   As   DataGridPageChangedEventArgs)  
                  Dim   startIndex   As   Integer  
                  startIndex   =   DataGrid1.CurrentPageIndex   *   DataGrid1.PageSize  
                  DataGrid1.CurrentPageIndex   =   e.NewPageIndex  
                  BindGrid()  
                  ShowStats()  
          End   Sub  
   
          Sub   BindGrid()  
                  Dim   sql  
                  sql   =   "select   *   from   Account   "  
                  Dim   SaDs1   As   New   DataSet  
                  Dim   odAdapt1   As   System.Data.OleDb.OleDbDataAdapter  
                  odAdapt1   =   New   System.Data.OleDb.OleDbDataAdapter(sql,   conn)  
                  odAdapt1.Fill(SaDs1,   "account")  
                  'conn.Close()  
                  DataGrid1.DataSource   =   SaDs1.Tables("account").DefaultView  
                  DataGrid1.AllowCustomPaging()   =   True  
                  DataGrid1.AllowPaging()   =   True  
                  DataGrid1.PageSize()   =   5  
                  DataGrid1.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   (DataGrid1.CurrentPageIndex   <   (DataGrid1.PageCount   -   1))   Then  
                                          DataGrid1.CurrentPageIndex   +=   1  
                                  End   If  
                          Case   "prev"  
                                  If   (DataGrid1.CurrentPageIndex   >   0)   Then  
                                          DataGrid1.CurrentPageIndex   -=   1  
                                  End   If  
                          Case   "last"  
                                  DataGrid1.CurrentPageIndex   =   (DataGrid1.PageCount   -   1)  
                          Case   Else  
                                  'page   number  
                                  DataGrid1.CurrentPageIndex   =   System.Convert.ToInt32(arg)  
                  End   Select  
                  BindGrid()  
                  ShowStats()  
          End   Sub  
   
          Sub   ShowStats()  
                  lblCurrentIndex.Text   =   "第   "   +   (DataGrid1.CurrentPageIndex   +   1).ToString()   +   "   页"  
                  lblPageCount.Text   =   "总共   "   +   DataGrid1.PageCount.ToString()   +   "   页"  
          End   Sub  
   
          Public   conn   As   New   System.Data.OleDb.OleDbConnection  
          Public   Sub   OpenDatabase()  
                  conn.ConnectionString   =   ("User   ID=sa;Tag   with   column   collation   when   possible=False;Data   Source=ZHAOHONG;Password=11;Initial   Catalog=require;Use   Procedure   for   Prepare=1;Auto   Translate=True;Persist   Security   Info=True;Provider=SQLOLEDB.1;Workstation   ID=ZHAOHONG;Use   Encryption   for   Data=False;Packet   Size=4096")  
                  conn.Open()  
          End   Sub  
   
  End   Class  
  一直都是只有前5条记录的第一页,页码也只有1为什么明明有2页的 问题点数:80、回复次数:16Top

1 楼linseng129(IT届的菜鸟)回复于 2004-12-02 13:59:34 得分 0

顶!!!Top

2 楼lutao206(紧密团结在以 .NET 同志为核心的党中央周围!)回复于 2004-12-02 14:06:55 得分 0

属性中设置为分页没??  
  Top

3 楼zjjszw(【湘:張家界】穿裤叉的蚊子【抵制日貨】)回复于 2004-12-02 14:07:11 得分 5

Try      
  ==========================(C#)  
  if(!IsPostBack)  
  {  
              btnFirst.Text   =   "最首页"  
                  btnPrev.Text   =   "前一页"  
                  btnNext.Text   =   "下一页"  
                  btnLast.Text   =   "最后页"  
                  'DataGrid1.SelectedIndex   =   -1  
                  OpenDatabase()  
                  BindGrid()  
  }Top

4 楼Edifier0709(腦袋重構中.....)回复于 2004-12-02 14:07:22 得分 0

DataGrid1.PageSize()   =   5  
   
  你的第一頁肯定是5條啦  
  Top

5 楼wxq4100798(aa)回复于 2004-12-02 14:07:32 得分 0

晕,将没用的删掉再来,这么多,怎么看?Top

6 楼xiaotian08(笑天)回复于 2004-12-02 14:07:56 得分 0

VB.net我不知道怎么写,C#是这样写的  
  在   Private   Sub   Page_Load(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   MyBase.Load  
  中加入if(!IsPostBack)  
  {  
  初始化页面代码,就可以了  
  }  
  VB.net差不多也是用if(!IsPostBack)格式,你应该知道  
  Top

7 楼linseng129(IT届的菜鸟)回复于 2004-12-02 14:22:46 得分 0

属性中设置为分页没??,两个分页的属性都打开了Top

8 楼linseng129(IT届的菜鸟)回复于 2004-12-02 14:23:08 得分 0

就只有一页还有一页就是显示不出来Top

9 楼wssmax(请叫我三角猫)回复于 2004-12-02 14:25:20 得分 0

不能使用自定义分页!!!!!!!!!!!Top

10 楼lonelydreamsym(惊梦)回复于 2004-12-02 14:33:58 得分 0

太多了,没法看Top

11 楼bitm(爱思派)回复于 2004-12-02 14:35:37 得分 0

只会C#。不能帮你  
   
  Top

12 楼cmy3918(ㄌ古道飘零客)回复于 2004-12-02 14:36:15 得分 0

再datagride控件的属性生成器中设置分页Top

13 楼cmy3918(ㄌ古道飘零客)回复于 2004-12-02 14:37:11 得分 5

Private   Sub   myDataGrid_PageIndexChanged(ByVal   source   As   System.Object,   ByVal   e   As   System.Web.UI.WebControls.DataGridPageChangedEventArgs)  
                  myDataGrid.CurrentPageIndex   =   e.NewPageIndex  
                  'BindGrid()  
          End   Sub  
   
  在代码里加入上面的事件Top

14 楼cmy3918(ㄌ古道飘零客)回复于 2004-12-02 14:37:45 得分 0

建议用datalist控件做Top

15 楼forideal(我心飞翔)回复于 2004-12-02 14:45:04 得分 0

see:  
   
  一个功能齐全的DataGrid分页例子  
  http://dotnet.aspx.cc/ShowDetail.aspx?id=B12283DE-DB20-4322-ACCC-12724442808ATop

16 楼hwmok()回复于 2004-12-02 16:08:04 得分 70

兄弟,我刚做了一个,应该与你的一样,接招。  
   
  <%@   Page   Language="vb"   AutoEventWireup="false"   Codebehind="DataGridPaging.aspx.vb"   Inherits="erpmanage.D1ataGridPaging"%>  
  <!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"   AllowPaging="True"   PageSize="10"   PagerStyle-Mode="NextPrev"  
  PagerStyle-HorizontalAlign="right"   OnPageIndexChanged="MyDataGrid_Page"   BorderColor="black"  
  BorderWidth="1"   GridLines="Both"   CellPadding="3"   CellSpacing="0"   Font-Name="Verdana"   Font-Size="8pt"  
  HeaderStyle-BackColor="#ffff33"   AlternatingItemStyle-BackColor="#cc9900">  
  <AlternatingItemStyle   BackColor="#cc9900"></AlternatingItemStyle>  
  <HeaderStyle   BackColor="#cc9900"></HeaderStyle>  
  <PagerStyle   HorizontalAlign="Right"   Mode="NextPrev"></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"   CommandArgument="0"  
  ForeColor="navy"   Font-size="8pt"></asp:linkbutton>&nbsp;  
  <asp:linkbutton   id="btnPrev"   onclick="PagerButtonClick"   runat="server"   Font-Name="verdana"   CommandArgument="prev"  
  ForeColor="navy"   Font-size="8pt"></asp:linkbutton>&nbsp;  
  <asp:linkbutton   id="btnNext"   onclick="PagerButtonClick"   runat="server"   Font-Name="verdana"   CommandArgument="next"  
  ForeColor="navy"   Font-size="8pt"></asp:linkbutton>&nbsp;  
  <asp:linkbutton   id="btnLast"   onclick="PagerButtonClick"   runat="server"   Font-Name="verdana"   CommandArgument="last"  
  ForeColor="navy"   Font-size="8pt"></asp:linkbutton></p>  
  </form>  
  </body>  
  </HTML>  
   
   
  Imports   System.Data.SqlClient  
  Imports   System.Data  
  Imports   System.Web.UI  
   
  Public   Class   D1ataGridPaging  
          Inherits   System.Web.UI.Page  
          Protected   WithEvents   MyDataGrid   As   System.Web.UI.WebControls.DataGrid  
          Protected   WithEvents   lblPageCount   As   System.Web.UI.WebControls.Label  
          Protected   WithEvents   lblCurrentIndex   As   System.Web.UI.WebControls.Label  
          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   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   username,photogroup,photoname,photopath   from   T_PHOTO",   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=localhost;Database=person;User   Id=sa;Password=;"  
                  cn.Open()  
          End   Sub  
  End   Class  
   
   
  Top

相关问题

  • 求求你们了?
  • 求求你们了?
  • 求求你们了,给我1分啊
  • 求求你们了,帮帮忙。分全给你们了。急啊?
  • 求求你们过来看一眼吧!!!!!,包给分
  • 求求你们,很简单的问题哦~!
  • 各位大哥,救救我,求求你们了(在线等)
  • ******求求你们看看******Tomcat4.1.31的问题*******就剩哭了********
  • 急救啊!!求求你们了。。BT工具问题
  • ———— 刚学ASP.net菜鸟求助,求求你们 救救我——

关键词

  • c#
  • vb.net

得分解答快速导航

  • 帖主:linseng129
  • zjjszw
  • cmy3918
  • hwmok

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo