C#中TreeView类操作全攻略(三)

it2022-05-07  5

using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using com.prm.client.tools; using System.Data.OracleClient; //using com.prm.client.common; namespace com.prm.client.forms { /// <summary> /// SM_EditFunction 的摘要说明。 /// </summary> public class SM_EditFunction: System.Windows.Forms.Form { private System.Windows.Forms.Label lbl_Name; private System.Windows.Forms.TextBox txt_Name; private System.Windows.Forms.Label lbl_Tag; private System.Windows.Forms.TextBox txt_Tag; private System.Windows.Forms.CheckBox ckb_IsInterface; private System.Windows.Forms.Label lbl_IsInterface; private System.Windows.Forms.Label lbl_Type; private System.Windows.Forms.Label lbl_FunEntity; private System.Windows.Forms.ComboBox cbo_Type; private System.Windows.Forms.TextBox txt_FunEntity; private System.Windows.Forms.Label lbl_BelongTo; private System.Windows.Forms.TextBox txt_BelongTo; private System.Windows.Forms.TextBox txt_Detail; private System.Windows.Forms.Label lbl_Detail; private System.Windows.Forms.Button btn_Confirm; private System.Windows.Forms.Button btn_Cancel; private System.Windows.Forms.Button btn_Help; //用来保存原始的功能记录 private FunctionTable oriFuncItem; //用来保存数字字典功能类别的数据 ClientDictionary[] DIC_funcType; //用来保存Connection属性 private OracleConnection funcTableConn; //用来保存修改后的记录 private FunctionTable newFuncItem; public FunctionTable NewFuncItem {get {return newFuncItem;}} //用来判断是否用户进行了修改 private bool isEdit=false; public bool IsEdit {get {return isEdit;}} /// <summary> /// 必需的设计器变量。 /// </summary> private System.ComponentModel.Container components = null; /// <summary> /// 构造函数,通过editFuncItem参数和dic_funcType对窗口进行初始化值 /// </summary> public SM_EditFunction(FunctionTable editFuncItem,ClientDictionary[] dic_funcType) { // // Windows 窗体设计器支持所必需的 // InitializeComponent(); //用参数值对本窗口相应的变量进行赋值保存 oriFuncItem=editFuncItem; DIC_funcType=dic_funcType; const string VALUEMEMBER="valueMember",DISPLAYMEMBER="displayMember",NULLTEXT=""; cbo_Type.DataSource = DIC_funcType; cbo_Type.ValueMember = VALUEMEMBER; cbo_Type.DisplayMember = DISPLAYMEMBER; DataAccessObject funcTableAccessObject=new DataAccessObject(); funcTableConn=funcTableAccessObject.Connection; this.txt_Name.Text=oriFuncItem.funcName; this.txt_Tag.Text=oriFuncItem.funcTag; if (oriFuncItem.funcIsInterface =="0") { this.ckb_IsInterface.Checked=false; } else { this.ckb_IsInterface.Checked=true; } this.cbo_Type.SelectedValue=oriFuncItem.funcType; this.txt_FunEntity.Text=oriFuncItem.funcEntity; this.txt_BelongTo.Text=oriFuncItem.funcBelongTo; this.txt_Detail.Text=oriFuncItem.funcDetail; } /// <summary> /// 清理所有正在使用的资源。 /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if(components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows 窗体设计器生成的代码 /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(SM_EditFunction)); this.lbl_Name = new System.Windows.Forms.Label(); this.lbl_Tag = new System.Windows.Forms.Label(); this.lbl_Type = new System.Windows.Forms.Label(); this.lbl_FunEntity = new System.Windows.Forms.Label(); this.lbl_BelongTo = new System.Windows.Forms.Label(); this.txt_Name = new System.Windows.Forms.TextBox(); this.txt_Tag = new System.Windows.Forms.TextBox(); this.cbo_Type = new System.Windows.Forms.ComboBox(); this.txt_BelongTo = new System.Windows.Forms.TextBox(); this.txt_Detail = new System.Windows.Forms.TextBox(); this.lbl_Detail = new System.Windows.Forms.Label(); this.ckb_IsInterface = new System.Windows.Forms.CheckBox(); this.btn_Confirm = new System.Windows.Forms.Button(); this.btn_Cancel = new System.Windows.Forms.Button(); this.btn_Help = new System.Windows.Forms.Button(); this.lbl_IsInterface = new System.Windows.Forms.Label(); this.txt_FunEntity = new System.Windows.Forms.TextBox(); this.SuspendLayout(); // // lbl_Name // this.lbl_Name.Location = new System.Drawing.Point(56, 24); this.lbl_Name.Name = "lbl_Name"; this.lbl_Name.Size = new System.Drawing.Size(48, 23); this.lbl_Name.TabIndex = 0; this.lbl_Name.Text = "名称:"; // // lbl_Tag // this.lbl_Tag.Location = new System.Drawing.Point(56, 56); this.lbl_Tag.Name = "lbl_Tag"; this.lbl_Tag.Size = new System.Drawing.Size(48, 23); this.lbl_Tag.TabIndex = 1; this.lbl_Tag.Text = "标识:"; // // lbl_Type // this.lbl_Type.Location = new System.Drawing.Point(56, 112); this.lbl_Type.Name = "lbl_Type"; this.lbl_Type.Size = new System.Drawing.Size(48, 23); this.lbl_Type.TabIndex = 2; this.lbl_Type.Text = "类别:"; // // lbl_FunEntity // this.lbl_FunEntity.Location = new System.Drawing.Point(32, 144); this.lbl_FunEntity.Name = "lbl_FunEntity"; this.lbl_FunEntity.Size = new System.Drawing.Size(72, 23); this.lbl_FunEntity.TabIndex = 3; this.lbl_FunEntity.Text = " 功能体:"; // // lbl_BelongTo // this.lbl_BelongTo.Location = new System.Drawing.Point(8, 176); this.lbl_BelongTo.Name = "lbl_BelongTo"; this.lbl_BelongTo.Size = new System.Drawing.Size(96, 23); this.lbl_BelongTo.TabIndex = 4; this.lbl_BelongTo.Text = "所属窗口标识:"; // // txt_Name // this.txt_Name.ForeColor = System.Drawing.Color.FromArgb(((System.Byte)(30)), ((System.Byte)(66)), ((System.Byte)(94))); this.txt_Name.Location = new System.Drawing.Point(104, 16); this.txt_Name.Name = "txt_Name"; this.txt_Name.Size = new System.Drawing.Size(152, 21); this.txt_Name.TabIndex = 5; this.txt_Name.Text = ""; // // txt_Tag // this.txt_Tag.ForeColor = System.Drawing.Color.FromArgb(((System.Byte)(30)), ((System.Byte)(66)), ((System.Byte)(94))); this.txt_Tag.Location = new System.Drawing.Point(104, 48); this.txt_Tag.Name = "txt_Tag"; this.txt_Tag.Size = new System.Drawing.Size(152, 21); this.txt_Tag.TabIndex = 6; this.txt_Tag.Text = ""; // // cbo_Type // this.cbo_Type.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cbo_Type.ForeColor = System.Drawing.Color.FromArgb(((System.Byte)(30)), ((System.Byte)(66)), ((System.Byte)(94))); this.cbo_Type.Location = new System.Drawing.Point(104, 104); this.cbo_Type.Name = "cbo_Type"; this.cbo_Type.Size = new System.Drawing.Size(152, 20); this.cbo_Type.TabIndex = 7; // // txt_BelongTo // this.txt_BelongTo.ForeColor = System.Drawing.Color.FromArgb(((System.Byte)(30)), ((System.Byte)(66)), ((System.Byte)(94))); this.txt_BelongTo.Location = new System.Drawing.Point(104, 168); this.txt_BelongTo.Name = "txt_BelongTo"; this.txt_BelongTo.Size = new System.Drawing.Size(152, 21); this.txt_BelongTo.TabIndex = 8; this.txt_BelongTo.Text = ""; // // txt_Detail // this.txt_Detail.ForeColor = System.Drawing.Color.FromArgb(((System.Byte)(30)), ((System.Byte)(66)), ((System.Byte)(94))); this.txt_Detail.Location = new System.Drawing.Point(104, 200); this.txt_Detail.Name = "txt_Detail"; this.txt_Detail.Size = new System.Drawing.Size(152, 21); this.txt_Detail.TabIndex = 9; this.txt_Detail.Text = ""; // // lbl_Detail // this.lbl_Detail.Location = new System.Drawing.Point(56, 208); this.lbl_Detail.Name = "lbl_Detail"; this.lbl_Detail.Size = new System.Drawing.Size(48, 23); this.lbl_Detail.TabIndex = 10; this.lbl_Detail.Text = "描述:"; // // ckb_IsInterface // this.ckb_IsInterface.Location = new System.Drawing.Point(104, 72); this.ckb_IsInterface.Name = "ckb_IsInterface"; this.ckb_IsInterface.Size = new System.Drawing.Size(24, 24); this.ckb_IsInterface.TabIndex = 11; // // btn_Confirm // this.btn_Confirm.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btn_Confirm.BackgroundImage"))); this.btn_Confirm.Location = new System.Drawing.Point(40, 240); this.btn_Confirm.Name = "btn_Confirm"; this.btn_Confirm.Size = new System.Drawing.Size(64, 22); this.btn_Confirm.TabIndex = 12; this.btn_Confirm.Text = "确 定"; this.btn_Confirm.Click += new System.EventHandler(this.btn_Confirm_Click); // // btn_Cancel // this.btn_Cancel.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btn_Cancel.BackgroundImage"))); this.btn_Cancel.Location = new System.Drawing.Point(128, 240); this.btn_Cancel.Name = "btn_Cancel"; this.btn_Cancel.Size = new System.Drawing.Size(64, 22); this.btn_Cancel.TabIndex = 13; this.btn_Cancel.Text = "取 消"; this.btn_Cancel.Click += new System.EventHandler(this.btn_Cancel_Click); // // btn_Help // this.btn_Help.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btn_Help.BackgroundImage"))); this.btn_Help.Location = new System.Drawing.Point(216, 240); this.btn_Help.Name = "btn_Help"; this.btn_Help.Size = new System.Drawing.Size(64, 22); this.btn_Help.TabIndex = 14; this.btn_Help.Text = "帮 助"; // // lbl_IsInterface // this.lbl_IsInterface.Location = new System.Drawing.Point(32, 80); this.lbl_IsInterface.Name = "lbl_IsInterface"; this.lbl_IsInterface.Size = new System.Drawing.Size(72, 23); this.lbl_IsInterface.TabIndex = 15; this.lbl_IsInterface.Text = "有无界面:"; // // txt_FunEntity // this.txt_FunEntity.ForeColor = System.Drawing.Color.FromArgb(((System.Byte)(30)), ((System.Byte)(66)), ((System.Byte)(94))); this.txt_FunEntity.Location = new System.Drawing.Point(104, 136); this.txt_FunEntity.Name = "txt_FunEntity"; this.txt_FunEntity.Size = new System.Drawing.Size(152, 21); this.txt_FunEntity.TabIndex = 16; this.txt_FunEntity.Text = ""; // // SM_EditFunction // this.AutoScaleBaseSize = new System.Drawing.Size(6, 14); this.BackColor = System.Drawing.Color.FromArgb(((System.Byte)(242)), ((System.Byte)(247)), ((System.Byte)(250))); this.ClientSize = new System.Drawing.Size(320, 273); this.Controls.Add(this.txt_FunEntity); this.Controls.Add(this.lbl_IsInterface); this.Controls.Add(this.btn_Help); this.Controls.Add(this.btn_Cancel); this.Controls.Add(this.btn_Confirm); this.Controls.Add(this.ckb_IsInterface); this.Controls.Add(this.lbl_Detail); this.Controls.Add(this.txt_Detail); this.Controls.Add(this.txt_BelongTo); this.Controls.Add(this.cbo_Type); this.Controls.Add(this.txt_Tag); this.Controls.Add(this.txt_Name); this.Controls.Add(this.lbl_BelongTo); this.Controls.Add(this.lbl_FunEntity); this.Controls.Add(this.lbl_Type); this.Controls.Add(this.lbl_Tag); this.Controls.Add(this.lbl_Name); this.ForeColor = System.Drawing.Color.FromArgb(((System.Byte)(30)), ((System.Byte)(66)), ((System.Byte)(94))); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Name = "SM_EditFunction"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "修改功能"; this.ResumeLayout(false); } #endregion /// <summary> /// 按确定按钮后,先检查输入的数据的合法性;接着生成一个FunctionTable类的实例 /// 并根据输入进行 相应的赋值,接着调用UpdateFuncItem过程对功能表进行相应的修改 /// </summary> private void btn_Confirm_Click(object sender, System.EventArgs e) { if(txt_Name.Text=="") { MessageBox.Show("功能名称不能为空"); return; } if(txt_Tag.Text=="") { MessageBox.Show("功能标识不能为空"); return; } if(this.txt_FunEntity.Text=="") { MessageBox.Show("功能体不能为空"); return; } newFuncItem=new FunctionTable(); newFuncItem.funcName=txt_Name.Text.Trim(); newFuncItem.funcTag=txt_Tag.Text.Trim(); if(this.ckb_IsInterface.Checked==true) { newFuncItem.funcIsInterface="1"; } else { newFuncItem.funcIsInterface="0"; } newFuncItem.funcType=this.cbo_Type.SelectedValue.ToString().Trim(); newFuncItem.funcEntity=this.txt_FunEntity.Text.Trim(); newFuncItem.funcBelongTo=this.txt_BelongTo.Text.Trim(); newFuncItem.funcDetail=this.txt_Detail.Text.Trim(); newFuncItem.funcIsExpand=oriFuncItem.funcIsExpand; newFuncItem.funcVer=oriFuncItem.funcVer; newFuncItem.funcID=oriFuncItem.funcID; newFuncItem.funcFatherID=oriFuncItem.funcFatherID; UpdateFuncItem(newFuncItem); isEdit=true; this.Close(); } /// <summary> /// 对功能表进行修改,利用了回滚功能,即如果修改不成功则功能表 /// 恢复为修改前的状态 /// </summary> /// <param name="newItem">要修改的新的纪录信息</param> private void UpdateFuncItem(FunctionTable newItem) { funcTableConn.Open(); System.Data.OracleClient.OracleTransaction myTran = funcTableConn.BeginTransaction (); try { OracleCommand cmd = new OracleCommand (); cmd.CommandText ="UPDATE 功能 set 功能标识='"+newItem.funcTag +"', 功能名称='"+newItem.funcName +"', 功能简述='"+newItem.funcDetail +"', 所属窗体='"+newItem.funcBelongTo +"', 有无界面='"+newItem.funcIsInterface +"', 功能类别='"+newItem.funcType +"', 功能体='"+newItem.funcEntity +"', 上级功能ID='"+newItem.funcFatherID +"', 可否展显='"+newItem.funcIsExpand +"', 版本号='"+newItem.funcVer +"' where 功能ID = '"+newItem.funcID+"'"; cmd.Transaction = myTran; cmd.Connection =funcTableConn; cmd.ExecuteNonQuery (); myTran.Commit (); } catch(Exception ee) { try { myTran.Rollback(); } catch (OracleException ex) { if (myTran.Connection != null) { MessageBox.Show ("在回滚时发生 " + ex.GetType() +" 异常!", "警告",System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Warning); } } MessageBox.Show ("发生" + ee.GetType() + "异常\n" +"修改记录失败!","警告",System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Warning); } finally { funcTableConn.Close(); } } private void btn_Cancel_Click(object sender, System.EventArgs e) { //用户点击了取消键,则表示没有进行修改 isEdit=false; this.Close(); } } }

转载于:https://www.cnblogs.com/zhuor/archive/2005/12/31/308879.html

相关资源:TreeView的操作

最新回复(0)