📄 pagecontrol.ascx.cs
字号:
namespace HotelHome
{
using System;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
/// <summary>
/// PageControl 的摘要说明。
/// </summary>
public class PageControl : System.Web.UI.UserControl
{
protected System.Web.UI.WebControls.DropDownList DropDownList1;
protected System.Web.UI.WebControls.LinkButton LinkButton1;
protected System.Web.UI.WebControls.LinkButton LinkButton2;
protected System.Web.UI.WebControls.LinkButton LinkButton3;
protected System.Web.UI.WebControls.LinkButton LinkButton4;
protected System.Web.UI.WebControls.TextBox txtSQL;
protected System.Web.UI.WebControls.TextBox txtPageSize;
protected System.Web.UI.WebControls.TextBox txtCurrenIndex;
protected System.Web.UI.WebControls.Label txtCount;
protected System.Web.UI.WebControls.DataGrid dg;
public delegate void Bind(object sender,System.EventArgs e);
public event Bind onBind;
// private string tablename;
// public void settablename(string tablename)
// {
// this.tablename=tablename;
// }
private void Page_Load(object sender, System.EventArgs e)
{
if(!this.IsPostBack)
{
this.txtCurrenIndex.Text="1";
this.MyDataBind();
}
}
public void setSQL(string sql)
{
this.txtSQL.Text=sql;
}
public void setDataGrid(DataGrid dg)
{
this.dg=dg;
}
public void setPageSize(int ps)
{
this.txtPageSize.Text=ps.ToString();
}
//计算出总共有多少条记录,有多少页
private void setInformation(DataTable dt)
{
int tempCount;
tempCount=dt.Rows.Count;
int PageSize=Convert.ToInt32(this.txtPageSize.Text);
int PageCount;
if(tempCount%PageSize==0)
{
PageCount=tempCount/PageSize;
}
else
{
PageCount=tempCount/PageSize+1;
}
this.txtCount.Text=PageCount.ToString();
this.DropDownList1.Items.Clear();
int currentPage=Convert.ToInt32(this.txtCurrenIndex.Text );
for(int i=1;i<=PageCount;i++)
{
this.DropDownList1.Items.Add(i.ToString());
if(currentPage==i)
{
this.DropDownList1.Items[i-1].Selected=true;
}
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.DropDownList1.SelectedIndexChanged += new System.EventHandler(this.DropDownList1_SelectedIndexChanged);
this.LinkButton1.Click += new System.EventHandler(this.LinkButton1_Click);
this.LinkButton2.Click += new System.EventHandler(this.LinkButton2_Click);
this.LinkButton3.Click += new System.EventHandler(this.LinkButton3_Click);
this.LinkButton4.Click += new System.EventHandler(this.LinkButton4_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
public void MyDataBind()
{
DBService dbs=new DBService();
if(this.txtSQL.Text.Equals(""))
{
Response.Write("<script>alert('请指定要查询的SQL语句');</script>");
return;
}
else if(this.dg==null)
{
Response.Write("<script>alert('请指定要绑定的DataGrid');</script>");
return;
}
else if(this.txtPageSize.Text.Equals(""))
{
this.txtPageSize.Text=Convert.ToString(10);
}
int currentPage=Convert.ToInt32(this.txtCurrenIndex.Text);
int PageSize=Convert.ToInt32(this.txtPageSize.Text);
DataSet ds=dbs.executeBySQL(this.txtSQL.Text,currentPage,PageSize,"users");
setInformation(ds.Tables["total"]);
this.dg.DataSource=ds.Tables["users"].DefaultView;
dg.DataBind();
if(this.onBind!=null)
{
onBind(this,new System.EventArgs());
}
}
//下一页
private void LinkButton3_Click(object sender, System.EventArgs e)
{
int currentPage=Convert.ToInt32(this.txtCurrenIndex.Text);
int PageCount=Convert.ToInt32(this.txtCount.Text);
if(PageCount<=currentPage)
{
// Response.Write("已经到最后一页");
this.txtCurrenIndex.Text=this.txtCount.Text;
return;
}
currentPage++;
this.txtCurrenIndex.Text=currentPage.ToString();
int PageSize=Convert.ToInt32(this.txtPageSize.Text);
this.MyDataBind();
}
//第一页
private void LinkButton1_Click(object sender, System.EventArgs e)
{
int PageSize=Convert.ToInt32(this.txtPageSize.Text);
this.txtCurrenIndex.Text=Convert.ToString(1);
this.MyDataBind();
}
//最后一页
private void LinkButton4_Click(object sender, System.EventArgs e)
{
int PageSize=Convert.ToInt32(this.txtPageSize.Text);
int startRecord=Convert.ToInt32(this.txtCount.Text);
this.txtCurrenIndex.Text=Convert.ToString(this.txtCount.Text);
this.MyDataBind();
}
//上一页
private void LinkButton2_Click(object sender, System.EventArgs e)
{
int currentPage=Convert.ToInt32(this.txtCurrenIndex.Text);
if(currentPage<=1)
{
// Response.Write("已经到第一页");
this.txtCurrenIndex.Text="1";
return;
}
int PageSize=Convert.ToInt32(this.txtPageSize.Text);
currentPage--;
this.txtCurrenIndex.Text=currentPage.ToString();
this.MyDataBind();
}
//下拉列表
private void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e)
{
int currentPage=Convert.ToInt32(this.DropDownList1.SelectedItem.Value);
int PageSize=Convert.ToInt32(this.txtPageSize.Text);
this.txtCurrenIndex.Text=currentPage.ToString();
this.MyDataBind();
}
public int TotalPages
{
get
{
return Convert.ToInt32(this.txtCount.Text);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -