⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datalistnavigation.ascx.cs

📁 很不错的公文流转系统
💻 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 + -