zoukankan      html  css  js  c++  java
  • C#中TreeView类操作全攻略(三)

    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();
    }

    }
    }
  • 相关阅读:
    《社区教育在线学习平台评价体系的设计研究》 文献随笔(七)
    《基于个性化推荐的在线学习系统研究与实现》 文献随笔(六)
    《基于校园网云平台微课在线学习系统的设计分析》 文献随笔(五)
    《基于微服务架构的在线学习系统设计与实现》第三章 文献随笔(四)
    《基于微服务架构的在线学习系统设计与实现》第一章节5 文献笔记(三)
    《基于Android的微课程平台设计》论文笔记(二)
    《基于Android的在线学习软件的设计与实现》论文笔记一
    在线学习系统的设计与实现 文献综述
    《基于JavaEE的全丰集团OA系统的设计与实现》论文笔记(十六)
    《电子签名技术在 OA 系统公文流转中的应用》论文笔记(十五)
  • 原文地址:https://www.cnblogs.com/zhuor/p/308879.html
Copyright © 2011-2022 走看看