分页控件
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();
}
}
<%@ 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();
}
}
相关文章推荐
- C#连接mysql数据库的方式
- HDU 1394 Minimum Inversion Number (线段数)
- Git基本使用及常用命令汇总
- spring mongodb 查询封装
- 数据挖掘方法案例介绍
- 架构设计和概要设计
- apue 第十三章 守护进程
- nodejs 安装redis数据库及配置
- HTML5 3D 粒子波浪动画特效
- Asp.Net 请求处理机制
- Maxwell 16.0 (64-bit) 软件卸载_Win7系统
- mips平台下gdb制作
- NYOJ37回文字符串【LCS】
- (图)谷歌Chrome浏览器向Win10 Edge浏览器送庆生蛋糕
- 《汇编语言》第二版 王爽著 第三章 寄存器(内存访问) 要点
- SQL语句
- 要在jsp界面上显示一行三个控件
- 如何配置Bean
- 【线段树】 HDOJ 5338 ZZX and Permutations
- c/c++中运行外部程序