zoukankan      html  css  js  c++  java
  • GridView 分页 上一页 下一页 跳转 前端分页

    效果图:

    前端页面

      <form id="form1" runat="server">
        <div>
                 <asp:GridView ID="GridView1" runat="server" AllowPaging="True"  AutoGenerateColumns="False">
               <Columns>
                   <asp:BoundField DataField="Typeid" HeaderText="编号" />
                   <asp:BoundField DataField="TypeName" HeaderText="类型名称" />
                   <asp:BoundField DataField="Upid" HeaderText="父Id" />
                   <asp:BoundField DataField="Memo" HeaderText="备注" />
               </Columns>
    
                <PagerTemplate>
                    <table  style="font:11px Tahoma; background-color:#cfe3fb;">
                        <tr>
                        <td style="text-align: right;"><asp:Label ID="lblPageIndex" runat="server" Text='<%# ((GridView)Container.Parent.Parent).PageIndex + 1 %>'></asp:Label>页
                            / 共<asp:Label ID="lblPageCount" runat="server" Text='<%# ((GridView)Container.Parent.Parent).PageCount %>'></asp:Label>&nbsp;&nbsp;
                            <asp:LinkButton ID="btnFirst" runat="server" CausesValidation="False"
                                CommandName="Page" Text="首页" CommandArgument="first" OnClick="btnFirst_Click">
                            </asp:LinkButton>
                            <asp:LinkButton ID="btnPrev" runat="server" CausesValidation="False"
                                CommandName="Page" Text="上一页" CommandArgument="prev" onclick="btnFirst_Click">
                            </asp:LinkButton>
                            <asp:LinkButton ID="btnNext" runat="server" CausesValidation="False"
                                CommandName="Page" Text="下一页" CommandArgument="next" OnClick="btnFirst_Click">
                            </asp:LinkButton>
                            <asp:LinkButton ID="btnLast" runat="server" CausesValidation="False"
                                CommandName="Page" Text="尾页" CommandArgument="last" OnClick="btnFirst_Click">
                            </asp:LinkButton>
                            <asp:TextBox ID="txtNewPageIndex" runat="server" MaxLength="5" CssClass="inputBorder1" Text='<%# ((GridView)Container.Parent.Parent).PageIndex + 1 %>'
                                onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/D/g,'')}" onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/D/g,'')}" AutoPostBack="True" ></asp:TextBox>
                            <asp:LinkButton ID="btnGo" runat="server" CausesValidation="False" CommandArgument="go"
                                CommandName="Page" Text="GO" OnClick="btnFirst_Click"></asp:LinkButton>
                        </td>
                        </tr>
                    </table>
                </PagerTemplate>
    
            </asp:GridView>
        </div>
        </form>
    View Code

    后台代码

      public partial class Default : System.Web.UI.Page
        {
            SqlConnection connect;
            SqlCommand cmd;
            protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    bind();
                }
    
                
            }
            protected void btnFirst_Click(object sender, EventArgs e)
            {
                string str = ((LinkButton)sender).CommandArgument.ToString();
                if (str != null)
                {
                    if (!(str == "first"))
                    {
                        if (str == "last")
                        {
                            this.GridView1.PageIndex = this.GridView1.PageCount - 1;
                        }
                        else if (str == "prev")
                        {
                            if (this.GridView1.PageIndex >= 1)
                            {
                                this.GridView1.PageIndex--;
                            }
                            else
                            {
                                this.GridView1.PageIndex = 0;
                            }
                        }
                        else if (str == "next")
                        {
                            this.GridView1.PageIndex++;
                        }
                        else if (str == "go")
                        {
                            TextBox box = (TextBox)this.GridView1.BottomPagerRow.FindControl("txtNewPageIndex");
                            int num = Convert.ToInt32(box.Text.ToString());
                            this.GridView1.PageIndex = num - 1;
                        }
                    }
                    else
                    {
                        this.GridView1.PageIndex = 0;
                    }
                }
                this.bind();
            }
                /// <summary>
            /// 绑定数据
            /// </summary>
            /// <returns></returns>
            public void bind()
            {
    
                connect = new SqlConnection("server=.;database=SuperMarket;uid=sa;pwd=123");
                cmd = new SqlCommand();
                string sql = "select * from dbo.GoodsTypes";
                cmd.CommandText = sql;
                cmd.Connection = connect;
    
                connect.Open();
    
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                da.Fill(ds);
    
                
                GridView1.DataKeyNames = new string[] { "typeid" };//主键
                GridView1.DataSource = ds;
                GridView1.DataBind();
             
    
            }
        }
    View Code

    ps: 点击 go 之后为什么不跳转第二页,页面刷新了一下,记住加载事件里要加

    if (!IsPostBack)
                {
                    bind();
                }
  • 相关阅读:
    <li>标签在ie6下的上下间隔的BUG解决办法
    win7 瘦身 减肥 记录!
    学习系统封装半年经验总结!
    DIV 类似 hover 悬停效果 鼠标移动上去变化
    解决 WIN7 部署 安装驱动包时出现的驱动签名提示 办法!
    Windows 7 瘦身大全 系统减肥 轻松 瘦身 减肥 3个G
    JS 判断 取 当前系统类型 可用来定义某些WIN7系统和XP系统下字体区别
    JS 判断 当前浏览器类型
    EasyBoot常用的命令
    Win7封装保持任务栏锁定项不变的解决方法
  • 原文地址:https://www.cnblogs.com/youchim/p/5498270.html
Copyright © 2011-2022 走看看