您的位置:首页 > 其它

分页控件

2015-07-31 14:47 253 查看
ASPX:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Pageer.ascx.cs" Inherits="GYP_Pageer" %>

    <div style="font-size:12px;">

        <br />

        <br />

        <asp:Label ID="RCount" runat="server" Text="Label"></asp:Label>条记录  当前:第<asp:Label ID="PIndex" runat="server" Text="Label"></asp:Label>

        /<asp:Label ID="PCount" runat="server" Text="Label"></asp:Label>页

        <asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">首页</asp:LinkButton>

         

        <asp:LinkButton ID="LinkButton2" runat="server" OnClick="LinkButton2_Click">上一页</asp:LinkButton>

         

        <asp:LinkButton ID="LinkButton3" runat="server" OnClick="LinkButton3_Click">下一页</asp:LinkButton>

         

        <asp:LinkButton ID="LinkButton4" runat="server" OnClick="LinkButton4_Click">尾页</asp:LinkButton>

         

    </div>

ASPX.CS:

using System;

using System.Collections;

using System.Configuration;

using System.Data;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

public partial class GYP_Pageer : System.Web.UI.UserControl

{

    private int psize;//参数:每页记录数

    private string wherestr, tablename, selectstr, orderstr, viewcontrolname;//参数

    private ControlType viewcontroltype;

    public int Pindex;//全局变量,当前页数

    /// <summary>

    /// 第页记录数

    /// </summary>

    public int PSize

    {

        set { psize = value; }

    }

    /// <summary>

    /// WHere条件语句,不需输入Where

    /// </summary>

    public string WhereStr

    {

        set { wherestr = value; }

    }

    /// <summary>

    /// 查询表名

    /// </summary>

    public string TableName

    {

        set { tablename = value; }

    }

    /// <summary>

    /// 查询字段,不需Select

    /// </summary>

    public string SelectStr

    {

        set { selectstr = value; }

    }

    /// <summary>

    /// 排序语句,不需Order By

    /// </summary>

    public string OrderStr

    {

        set { orderstr = value; }

    }

    /// <summary>

    /// 需绑定的控件ID

    /// </summary>

    public ControlType ViewControlType

    {

        set { viewcontroltype = value; }

    }

    public enum ControlType {

        DataList,

        GridView

    }

    public string ViewControlName {

        set { viewcontrolname = value; }

    }

    protected void Page_Load(object sender, EventArgs e)

    {

        if (!IsPostBack)

        {

            Pindex = 1;

            PIndex.Text = Pindex.ToString();

            fill();

        }

    }

    private void fill()

    {

        string SqlStr = "";

        string WheStr = "";

        string OrdStr = "";

        string SQL2;

        SqlStr = "Select Top " + psize + " " + selectstr + " From " + tablename + " ";

        if (orderstr != null)

        {

            OrdStr = " Order By " + orderstr;

        }

        if (wherestr == null)

        {

            WheStr = "Where ID Not In(Select Top " + (Pindex - 1) * psize + " ID From " + tablename + " " + OrdStr + ") " + OrdStr;

            SQL2 = "Select Count(*) From " + tablename;

        }

        else

        {

            WheStr = "Where ID Not In(Select Top " + (Pindex - 1) * psize + " ID From " + tablename + " Where " + wherestr + " " + OrdStr + ") and " + wherestr + " " + OrdStr;

            SQL2 = "Select Count(*) From " + tablename + " WHere " + wherestr;

        }

        if (ControlType.DataList == viewcontroltype)

        {

            DataList dl = (DataList)this.Parent.FindControl(viewcontrolname);

            dl.DataSource = SqlHelper.SqlDataReader(SqlStr + WheStr);

            dl.DataBind();

        }

        else

        {

            GridView dl = (GridView)this.Parent.FindControl(viewcontrolname);

            dl.DataSource = SqlHelper.SqlDataReader(SqlStr + WheStr);

            dl.DataBind();

        }

        int Counts = Convert.ToInt16(SqlHelper.OneStr(SQL2));

        if ((Counts % psize) == 0)

        {

            PCount.Text = Convert.ToString(Counts / psize);

        }

        else

        {

            PCount.Text = Convert.ToString(Convert.ToInt16(Counts / psize) + 1);

        }

        RCount.Text = Counts.ToString();

        LinkButton2.Enabled = true;

        LinkButton3.Enabled = true;

        if (Pindex == 1) { LinkButton2.Enabled = false; }

        if (Pindex == Convert.ToInt32(PCount.Text)) { LinkButton3.Enabled = false; }

    }

    protected void LinkButton1_Click(object sender, EventArgs e)

    {

        Pindex = 1;

        PIndex.Text = Pindex.ToString();

        fill();

    }

    protected void LinkButton2_Click(object sender, EventArgs e)

    {

        int p = Convert.ToInt32(PIndex.Text) - 1;

        Pindex = p;

        PIndex.Text = Pindex.ToString();

        fill();

    }

    protected void LinkButton3_Click(object sender, EventArgs e)

    {

        int p = Convert.ToInt32(PIndex.Text) + 1;

        Pindex = p;

        PIndex.Text = Pindex.ToString();

        fill();

    }

    protected void LinkButton4_Click(object sender, EventArgs e)

    {

        Pindex = Convert.ToInt32(PCount.Text);

        PIndex.Text = Pindex.ToString();

        fill();

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: