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

📄 onefieldhandler.cs

📁 x2webcontrols
💻 CS
字号:
using System;
using System.Web.UI.WebControls;

namespace X2Design.Data
{
	public class DbOperEventArgs:System.EventArgs
	{
		public int id;
		public DbOperEventArgs(int _id)
		{
			id=_id;
		}
	}
	public delegate void DbOperEventHandler(object sender,DbOperEventArgs args);
	public delegate bool DbOperEventHandler2(object sender,DbOperEventArgs args);
	/// <summary>
	/// SortEditHandler 的摘要说明。
	/// </summary>
	public class OneFieldHandler
	{
		private X2Design.Data.DbOperHandler doh;
		private Button btnAdd;
		private Button btnModify;
		private Button btnDelete;
		private DropDownList ddlSort;
		private TextBox tbName;
		private System.Web.UI.Page myPage;
		private string tableName;
		private string fieldName;
		public event DbOperEventHandler AddOk;
		public event DbOperEventHandler ModifyOk;
		public event DbOperEventHandler DeleteOk;

		public event DbOperEventHandler2 PreAdd;
		public event DbOperEventHandler2 PreModify;
		public event DbOperEventHandler2 PreDelete;
		

		public OneFieldHandler(string _tableName,string _fieldName,X2Design.Data.DbOperHandler _doh,Button _btnAdd,Button _btnModify,Button _btnDelete,DropDownList _ddlSort,TextBox _tbName)
		{
			tableName=_tableName;
			fieldName=_fieldName;
			doh=_doh;
			btnAdd=_btnAdd;
			btnModify=_btnModify;
			btnDelete=_btnDelete;
			ddlSort=_ddlSort;
			tbName=_tbName;
			myPage=(System.Web.UI.Page)btnAdd.Page;

			btnAdd.Click+=new EventHandler(btnAdd_Click);
			btnModify.Click+=new EventHandler(btnModify_Click);
			btnDelete.Click+=new EventHandler(btnDelete_Click);

			

			if(!myPage.IsPostBack)
			{
				BindDdl();
			}
		}

		private void Alert(string msg)
		{
			myPage.RegisterStartupScript("alert","<script language=\"javascript\">alert('"+msg+"');</script>");
		}

		private bool CheckRight()
		{
			return true;
		}

		//添加一个分类
		private void btnAdd_Click(object sender, EventArgs e)
		{
			if(!CheckRight())return;
			if(!OnPreAdd(new DbOperEventArgs(0)))return;
			if(ddlSort.Items.FindByText(tbName.Text)!=null)
			{
				Alert("对不起,添加的分类已经存在!");
				return;
			}

			if(tbName.Text.Length==0)
			{
				Alert("对不起,名称不得为空!");
				return;
			}
			doh.AddFieldItem(fieldName,tbName.Text);
			int id=doh.Insert(tableName);
			BindDdl();
			ddlSort.ClearSelection();
			ddlSort.SelectedIndex=ddlSort.Items.Count-1;
			tbName.Text="";
			OnAddOk(new DbOperEventArgs(id));
			return;

		}

		//修改一个分类
		private void btnModify_Click(object sender, EventArgs e)
		{
			if(!CheckRight())return;
			if(!OnPreModify(new DbOperEventArgs(Convert.ToInt32(ddlSort.SelectedValue))))return;
			if(ddlSort.Items.FindByText(tbName.Text)!=null && ddlSort.Items.FindByText(tbName.Text)!=ddlSort.SelectedItem)
			{
				Alert("对不起,修改的分类名称已经存在!");
				return;
			}
			if(tbName.Text.Length==0)
			{
				Alert("对不起,名称不得为空!");
				return;
			}
			doh.Reset();
			doh.AddFieldItem(fieldName,tbName.Text);
			doh.ConditionExpress="id=@id";
			doh.AddConditionParameter("@id",ddlSort.SelectedValue);
			doh.Update(tableName);
			ddlSort.SelectedItem.Text=tbName.Text;
			tbName.Text="";
			this.OnModifyOk(new DbOperEventArgs(Convert.ToInt32(ddlSort.SelectedValue)));
			return;
		}

		//删除一个分类
		private void btnDelete_Click(object sender, EventArgs e)
		{
			if(!CheckRight())return;
			int id=Convert.ToInt32(ddlSort.SelectedValue);
			if(!OnPreDelete(new DbOperEventArgs(id)))return;
			if(ddlSort.Items.Count==0)return;
			doh.Reset();
			doh.ConditionExpress="id=@id";
			
			doh.AddConditionParameter("@id",id);
			doh.Delete(tableName);
			ddlSort.Items.Remove(ddlSort.SelectedItem);
			if(ddlSort.Items.Count>0)
			{
				ddlSort.ClearSelection();
				ddlSort.SelectedIndex=0;
			}
			this.OnDeleteOk(new DbOperEventArgs(id));
			//删除事件待加
			return;


		}

		//绑定下拉列表
		private void BindDdl()
		{
			doh.Reset();
			doh.SqlCmd="select * from "+tableName+" order by id";
			ddlSort.DataSource=doh.GetDataSet();
			ddlSort.DataTextField=fieldName;
			ddlSort.DataValueField="id";
			ddlSort.DataBind();
			ddlSort.SelectedIndex=0;
		}

		protected virtual void OnAddOk(DbOperEventArgs e)
		{
			if(AddOk!=null)
			{
				AddOk(this,e);
			}
		}
		protected virtual void OnModifyOk(DbOperEventArgs e)
		{
			if(ModifyOk!=null)
			{
				ModifyOk(this,e);
			}
		}
		protected virtual void OnDeleteOk(DbOperEventArgs e)
		{
			if(DeleteOk!=null)
			{
				DeleteOk(this,e);
			}
		}

		protected virtual bool OnPreAdd(DbOperEventArgs e)
		{
			if(PreAdd!=null)
			{
				return PreAdd(this,e);
			}
			return true;
		}
		protected virtual bool OnPreModify(DbOperEventArgs e)
		{
			if(PreModify!=null)
			{
				return PreModify(this,e);
			}
			return true;
		}
		protected virtual bool OnPreDelete(DbOperEventArgs e)
		{
			if(PreDelete!=null)
			{
				return PreDelete(this,e);
			}
			return true;
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -