📄 onefieldhandler.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 + -