📄 datalistnavigation.ascx.cs
字号:
namespace ZHENGYI
{
using System;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using OI.DatabaseOper;
public delegate void DataListBind(System.Data.DataTable db);
/// <summary>
/// DataListNavigation 的摘要说明。
/// </summary>
public abstract class DataListNavigation : System.Web.UI.UserControl
{
protected System.Web.UI.WebControls.Label PageNumber;
protected System.Web.UI.WebControls.Label PageBulk;
protected System.Web.UI.WebControls.Label RecordNumber;
protected System.Web.UI.WebControls.ImageButton First;
protected System.Web.UI.WebControls.ImageButton Previous;
protected System.Web.UI.WebControls.ImageButton Next;
protected System.Web.UI.WebControls.ImageButton Lastly;
protected System.Web.UI.WebControls.TextBox SelectPage;
protected System.Web.UI.WebControls.ImageButton ImageButton1;
protected DatabaseConnect dbc=new DatabaseConnect();
protected int CurrentPage=0;
protected int PageSize,PageCount,RecordCount;
protected string SqlSel,SqlCount;
private DataListBind DLBind;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
}
public void settarget(int pagesize,string sqlsel,string sqlcount,DataListBind newbind )
{
ViewState["sqlsel"]=sqlsel;
// ViewState["newbind"]=newbind;
PageSize=pagesize;
ViewState["pagesize"]=PageSize;
SqlCount=sqlcount;
ViewState["pageindex"] =0;
DLBind=new DataListBind(newbind);
DataTable db=ListBind();
DLBind(db);
this.First.Click+= new System.Web.UI.ImageClickEventHandler(this.NavigationButton_Click);
this.Previous.Click += new System.Web.UI.ImageClickEventHandler(this.NavigationButton_Click);
this.Next.Click += new System.Web.UI.ImageClickEventHandler(this.NavigationButton_Click);
this.Lastly.Click += new System.Web.UI.ImageClickEventHandler(this.NavigationButton_Click);
RecordCount=dbc.IFExist(SqlCount);
PageCount = ((RecordCount-1) / PageSize + 1);
ViewState["pagecount"] =PageCount;
PageNumber.Text=" 1 "+"/" + PageCount.ToString();
PageBulk.Text=PageSize.ToString();
RecordNumber.Text=RecordCount.ToString();
}
private DataTable ListBind()
{
PageSize=Convert.ToInt32(ViewState["pagesize"]);
int StartIndex=CurrentPage*PageSize;
DataSet ds=new DataSet();
SqlConnection conn=dbc.GetConn();
SqlDataAdapter adapter=new SqlDataAdapter(ViewState["sqlsel"].ToString(),conn);
adapter.Fill(ds,StartIndex,PageSize,"t");
dbc.DataBaseClose();
return ds.Tables["t"];
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Next.Click += new System.Web.UI.ImageClickEventHandler(this.NavigationButton_Click);
this.Previous.Click+=new System.Web.UI.ImageClickEventHandler(this.NavigationButton_Click);
this.First.Click+=new System.Web.UI.ImageClickEventHandler(this.NavigationButton_Click);
this.Lastly.Click+=new System.Web.UI.ImageClickEventHandler(this.NavigationButton_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void NavigationButton_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
string strCommandName=((ImageButton)sender).ID;//取得事件的对象名
CurrentPage=Convert.ToInt32(ViewState["pageindex"]);
PageCount=Convert.ToInt32(ViewState["pagecount"]);;
switch(strCommandName)
{
case "First":
CurrentPage=0;//跳转到首页
PageOperate();
break;
case "Previous":
if(CurrentPage>=0&&CurrentPage<PageCount-1) CurrentPage--;//跳转到上一页
PageOperate();
break;
case "Next":
if(CurrentPage>=0&&CurrentPage<PageCount-1) CurrentPage++;//跳转到下一页
PageOperate();
break;
case "Lastly":
CurrentPage=PageCount-1;//跳转到最后一页
PageOperate();
break;
}
// DataListBind newbind=(DataListBind)ViewState["newbind"];
// DLBind=new DataListBind(newbind);
DataTable db=ListBind();
DLBind(db);
}
private void PageOperate()
{
PageNumber.Text=(CurrentPage+1).ToString()+"/" + PageCount.ToString();
ViewState["pageindex"]=CurrentPage;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -