解决方案 »

  1.   

    自定义分页和下拉列表实现切换分页
    //GridView设置
     <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
                                        AutoGenerateColumns="False" BackColor="#DEBA84" 
                BorderColor="#DEBA84" BorderStyle="None"
                                        BorderWidth="1px" CellPadding="3" CellSpacing="2" DataKeyNames="产品编号" 
                                        ShowFooter="True" Width="624px" 
                OnRowCreated="GridView1_RowCreated" 
                OnRowDataBound="GridView1_RowDataBound" PageSize="2">
                                        <PagerSettings Visible="False" />
                                        <FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510" />
                                        <Columns>
                                            <asp:TemplateField HeaderText="产品名称">
                                                <ItemTemplate>
                                           <%#HightLightText((string)Eval("产品"), this.tbSearch.Text.Trim())%>
                                                </ItemTemplate>
                                            </asp:TemplateField>
                                            <asp:BoundField DataField="单价" HeaderText="单价" SortExpression="单价" />
                                            <asp:BoundField DataField="库存量" HeaderText="库存量" SortExpression="库存量" />
                                            <asp:BoundField DataField="已订购量" HeaderText="已订购量" SortExpression="已订购量" />
                                            <asp:TemplateField HeaderText="订货金额" SortExpression="订货金额">
                                                <EditItemTemplate>
                                                 <asp:Label ID="Label1" runat="server" Text='<%# Eval("订货金额", "{0:c}") %>'></asp:Label>
                                                </EditItemTemplate>
                                                <FooterTemplate>
                                                    <asp:Label ID="OrderTotalLabel" runat="server" Font-Underline="True" ForeColor="Red"></asp:Label>
                                                </FooterTemplate>
                                                <ItemTemplate>
                                                    <asp:Label ID="Label1" runat="server" Text='<%# Bind("订货金额", "{0:c}") %>'></asp:Label>
                                                </ItemTemplate>
                                            </asp:TemplateField>
                                            <asp:TemplateField HeaderText="订单日期">
                                                <EditItemTemplate>
                                                    <asp:Label ID="Label3" runat="server" Text='<%# Eval("订单日期","{0:d}") %>'></asp:Label>
                                                </EditItemTemplate>
                                                <ItemTemplate>
                                                    <asp:Label ID="Label2" runat="server" Text='<%# Bind("订单日期","{0:d}") %>'></asp:Label>
                                                </ItemTemplate>
                                            </asp:TemplateField>
                                        </Columns>
                                        <RowStyle BackColor="#FFF7E7" ForeColor="#8C4510" />
                                        <SelectedRowStyle BackColor="#C0FFC0" Font-Bold="True" ForeColor="Black" />
                                        <PagerTemplate>
                                     
                                        </PagerTemplate>
                                        <PagerStyle ForeColor="#8C4510" HorizontalAlign="Center" />
                                        <HeaderStyle BackColor="#A55129" Font-Bold="True" ForeColor="White" />
       </asp:GridView>//codego.net/tags/11/1/
    //分页设置
     <asp:Button ID="Button_First" runat="server" onclick="Button_First_Click" 
            Text="第一页" />
        <asp:Button ID="Button_Last" runat="server" onclick="Button_Last_Click" 
            Text="上一页" />
        <asp:Button ID="Button_Next" runat="server" onclick="Button_Next_Click" 
            Text="下一页" />
        <asp:Button ID="Button_End" runat="server" onclick="Button_End_Click" 
            Text="最后一页" />
        跳转至:<asp:DropDownList ID="DropDown_PageList" runat="server" AutoPostBack="True" 
            onselectedindexchanged="DropDown_PageList_SelectedIndexChanged" 
            Height="20px" Width="46px">
        </asp:DropDownList>
        <asp:Label ID="l_djy" runat="server" Text="Label"></asp:Label>
        <asp:Label ID="l_gjy" runat="server" Text="Label"></asp:Label>
        <asp:Label ID="l_jls" runat="server" Text="Label"></asp:Label>
    //绑定数据分页
      protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                decimal totalMoney =
                   Convert.ToDecimal(DataBinder.Eval(e.Row.DataItem, "订货金额"));
                //累加订货金额并赋给变量 orderTotal。
                orderTotal += totalMoney;
            }
            
            if (GridView1.PageIndex == 0)//首页绑定页码按钮设置
            {
                Button_First.Enabled = false;//首页
                Button_Last.Enabled = false;//上页
            }
            else
            {
                Button_First.Enabled = true;
                Button_Last.Enabled = true;
            }
            
            if (GridView1.PageIndex == GridView1.PageCount - 1)//末页绑定页码按钮设置
            {
                Button_End.Enabled = false;//末页
                Button_Next.Enabled = false;//尾页
            }
            else
            {
                Button_End.Enabled = true;
                Button_Next.Enabled = true;
            }
            
            if (GridView1.PageCount <= 0)//页数为0的特殊设置
            {
                Button_First.Enabled = false;
                Button_Last.Enabled = false;
                Button_End.Enabled = false;
                Button_Next.Enabled = false;
            }
            //页码下拉类表设置
            if (DropDown_PageList != null)
            {
                DropDown_PageList.ClearSelection();
                DropDown_PageList.Items.Clear();
                for (int i = 0; i < GridView1.PageCount; i++)
                {
                    int pageNumber = i + 1;//创建一个ListItem对象来存储分页数列表
                    ListItem item = new ListItem(pageNumber.ToString());
                    // 每 3笔设置一种背景颜色。
                    switch (Conversion.Fix(pageNumber / 3))
                    {
                        case 0:
                        case 2:
                            item.Attributes.Add("style", "background: yellow;");
                            break;
                        case 1:
                        case 3:
                            item.Attributes.Add("style", "background: cyan;");
                            break;
                    }
                    //如果ListItem对象的分页数与当前所选择的分页数相同,
                    //将该ListItem对象的分页数标记成被选择(selected)状态
                    if (i == GridView1.PageIndex)
                    {
                        item.Selected = true;
                    }
                    DropDown_PageList.Items.Add(item);//将ListItem对象的计算的分页数添加到下拉列表的元素集合中
                }
            }
            //页码标签获取:当前页N/N
                int currentPage = GridView1.PageIndex + 1;
                l_djy.Text = "第" + currentPage + "页";
                l_gjy.Text = "共" + GridView1.PageCount.ToString() + "条";
                l_jls.Text = "当前页共" + GridView1.Rows.Count.ToString() + "条记录";
        }
    //设置分页按钮显示
     protected void Button_First_Click(object sender, EventArgs e)
        {
            GridView1.PageIndex = 0;//首页
            DbBind();
        }
        protected void Button_Last_Click(object sender, EventArgs e)
        {
            GridView1.PageIndex -= 1;//上一页
            DbBind();
        }
        protected void Button_End_Click(object sender, EventArgs e)
        {
            GridView1.PageIndex += GridView1.PageCount - 1;//最后一页
            DbBind();    }
        protected void Button_Next_Click(object sender, EventArgs e)
        {
            GridView1.PageIndex += 1;//下一页
            DbBind();
        }
        protected void DropDown_PageList_SelectedIndexChanged(object sender, EventArgs e)
        {
            GridView1.PageIndex = DropDown_PageList.SelectedIndex;  //将GridView控件移到用户选择的笔数
           DbBind();                                                //重新绑定下GridView控件
        }
      

  2.   

    asp.net 分页控件有的。 搜索一下就能找到了。。
      

  3.   

    1、存储过程分页
    2、js分页
    3、网上有分页控件你可以自行搜索
    4、就是gridview自动分页(这是假分页,建议使用以上三种)
      

  4.   

    我的问题解决了,主要是用的jQuery,参考网址如下http://www.360doc.com/content/13/0306/15/10504424_269672140.shtml,有需要的朋友可以看看。