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

📄 frmdepmanage.cs

📁 环境采用ASP.NET和SQL Server 2000 一款为中小企业量身订做的人力资源管理软件。主要包括以下功能:档案管理、考核管理、工资管理、培训管理、评价管理、合同管理、员工调动、员工离职、员工
💻 CS
📖 第 1 页 / 共 2 页
字号:
		
			{
				TreeNode tmpNode;
				string absIndex;
				DataView dvTemp = dvList.Table.DefaultView;
				// 选出数据源中ParentIndex为sParentIndex数据行
				DataRow[] dataRows = dvList.Table.Select( "ParentIndex='" + sParentIndex + "'" );
				// 循环添加TreeNode
				foreach ( DataRow dr in dataRows )
				{
					// 获取节点所需数据
					tmpNode = new TreeNode();
					tmpNode.Text = dr[ "类别" ].ToString();
					// 用TreeNode的Tag属性保存于此节点相关的数据
					tmpNode.Tag = (new TreeNodeData( dr[ "AbsIndex" ].ToString(), dr[ "ItemIndex"].ToString(),
						dr[ "ItemLevel" ].ToString(), dr[ "ParentIndex" ].ToString(), dr[ "类别号" ].ToString(), dr[ "单位编号" ].ToString() ) ).ToString();
					absIndex = dr[ "AbsIndex" ].ToString();
					// 添加节点
					nodes.Add( tmpNode );
					// 递归调用
					InitTree( nodes[ nodes.Count ].Nodes, absIndex );
				}
			}
			catch ( Exception ex )
			{
				MessageBox.Show( "初始化TreeView失败!" + ex.ToString() );
			}
		}

		private void SaveTreeView( TreeNodeCollection nodes, string result, int absIndex )
		{
			if ( nodes.Count == 0 )
			{
				return;
			}
			result = "";
			foreach ( TreeNode tmpNode in nodes )
			{
				// 以下是组合SQL语句
				result += "insert into 组织机构编码表(类别,单位名称,AbsIndex,ItemIndex,ItemLevel," +
					"ParentIndex,类别号,单位编号)values('" + tmpNode.Text + "','" + tmpNode.Text + "'";
				// absIndex
				absIndex += 1;
				// 给treenode赋absIndex
				( ( TreeNodeData )tmpNode.Tag ).AbsIndex = absIndex.ToString().Trim();
				absIndex.ToString().Trim();
				result += tmpNode.Index.ToString().Trim() + ",";
				// ItemLevel
				if ( tmpNode.Parent != null )
				{
					( ( TreeNodeData )tmpNode.Tag ).ItemLevel = "0";
					result += "0";
				}
				else
				{
					result += Convert.ToString( Int32.Parse( ( ( TreeNodeData )tmpNode.Parent.Tag ).ItemLevel ) + 1 ).Trim();
					// 给treenode赋itemlevel
					( (TreeNodeData)tmpNode.Parent.Tag ).ItemLevel =Convert.ToString( Int32.Parse( ( ( TreeNodeData )tmpNode.Parent.Tag ).ToString() ) + 1 );
				}

				// ParentIndex
				result += ",";
				if ( tmpNode.Parent != null )
				{
					( (TreeNodeData) tmpNode.Tag ).ParentIndex = ( (TreeNodeData )tmpNode.Parent.Tag ).AbsIndex;
				}
				else
				{
					result +=( (TreeNodeData )tmpNode.Parent.Tag ).AbsIndex.Trim();
					// 给treenode赋ParentIndex
					((TreeNodeData)tmpNode.Tag ).ParentIndex = ((TreeNodeData)tmpNode.Parent.Tag ).AbsIndex;
				}
				result += ",'";
				result += ( (TreeNodeData)tmpNode.Tag ).KindCode.Trim() + "')";
				result +=( (TreeNodeData )tmpNode.Tag ).DepCode.Trim() + "')";
				// 递归调用
				SaveTreeView( tmpNode.Nodes, result, absIndex );
			}
		}

		private void btnModify_Click(object sender, System.EventArgs e)
		{
			// 判断修改条件
			if ( txbLKindCode.Text.Trim().Length == 0 || txbDepCode.Text.Trim().Length == 0 )
			{
				return;
			}
			// 获得当前选中的节点
			TreeNode tmpNode = trvList.SelectedNode;
			// 对编码进行验证;
			string sTmp = txbLKindCode.Text.Trim();
			tmpNode = tmpNode.Parent;
			while ( tmpNode != null )
			{
				sTmp = (( TreeNodeData )tmpNode.Tag ).KindCode.Trim() + sTmp;
				tmpNode = tmpNode.Parent;
			}

			if ( sTmp.Trim().Length > iBits )
			{
				// 编码超长删除节点
				trvList.SelectedNode.Remove();
				MessageBox.Show( "编码超长,已被删除!" );
			}
			else
			{
				// 编码符合要求,,修改相应节点
				trvList.SelectedNode.Text = txbName.Text.Trim();
				( ( TreeNodeData )trvList.SelectedNode.Tag ).KindCode = txbLKindCode.Text.Trim();
				( ( TreeNodeData )trvList.SelectedNode.Tag ).DepCode = sTmp;
				txbDepCode.Text = sTmp;
			}
		}

		private void btnAddBas_Click(object sender, System.EventArgs e)
		{
			if ( txbLKindCode.Text.Trim().Length == 0 || txbDepCode.Text.Trim().Length == 0 )
			{
				return;
			}
			TreeNode tmpNode;
			if ( txbLKindCode.Text.Trim().Length > iBits )
			{
				MessageBox.Show( "编码超长,已被删除" );
			}
			else
			{
				tmpNode = new TreeNode( txbName.Text.Trim() );
				trvList.Nodes.Add( tmpNode );
				// 设置新增节点的相关数据
				tmpNode.Tag = ( Object ) ( new TreeNodeData( "", tmpNode.Index.ToString(), "0", "-1", txbLKindCode.Text.Trim(),txbDepCode.Text.Trim() ) );
			}
		}

		private void btnAddEql_Click(object sender, System.EventArgs e)
		{
			// 判断修改条件
			if ( txbLKindCode.Text.Trim().Length == 0 || txbDepCode.Text.Trim().Length == 0 )
				return;
			// 获得当前选中的节点
			TreeNode tmpNode = trvList.SelectedNode;
			// 对编码进行验证;
			string sTmp = txbLKindCode.Text.Trim();
			tmpNode = tmpNode.Parent;
			while ( tmpNode != null )
			{
				sTmp = (( TreeNodeData )tmpNode.Tag ).KindCode.Trim() + sTmp;
				tmpNode = tmpNode.Parent;
			}

			if ( sTmp.Trim().Length > iBits )
			{
				// 编码超长删除节点
				trvList.SelectedNode.Remove();
				MessageBox.Show( "编码超长,已被删除!" );
			}
			else
			{
				tmpNode = new TreeNode( txbName.Text.Trim() );
				trvList.SelectedNode.Parent.Nodes.Add( tmpNode );
				tmpNode.Tag = ( Object ) ( new TreeNodeData( "", tmpNode.Index.ToString(), "", "",txbLKindCode.Text.Trim(),sTmp) );
			}
		}

		private void btnAddSub_Click(object sender, System.EventArgs e)
		{
			if ( txbLKindCode.Text.Trim().Length == 0 || txbDepCode.Text.Trim().Length == 0 )
				return;
			// 获得当前选中的节点
			TreeNode tmpNode = trvList.SelectedNode;
			// 对编码进行验证;
			string sTmp = txbLKindCode.Text.Trim();
			tmpNode = tmpNode.Parent;
			while ( tmpNode != null )
			{
				sTmp = (( TreeNodeData )tmpNode.Tag ).KindCode.Trim() + sTmp;
				tmpNode = tmpNode.Parent;
			}

			if ( sTmp.Trim().Length > iBits )
			{
				// 编码超长删除节点
				trvList.SelectedNode.Remove();
				MessageBox.Show( "编码超长,已被删除!" );
			}
			else
			{
				tmpNode = new TreeNode( txbName.Text.Trim() );
				trvList.SelectedNode.Parent.Nodes.Add( tmpNode );
				tmpNode.Tag = ( Object ) ( new TreeNodeData( "", tmpNode.Index.ToString(), "", "", txbLKindCode.Text.Trim(), sTmp ) );
			}
		}

		private void btnSave_Click(object sender, System.EventArgs e)
		{
			string result = "";
			int absIndex = -1;
			DataBase db = new DataBase();
			// 执行保存TreeView的SQL
			string strSQL = "begin tran";
			try
			{
				strSQL +="select * into zzjptemp from 组织机构编码表";
				strSQL += "go " + " delete from 组织机构编码表";
				db.RunDelOrInsSQL( strSQL );
				SaveTreeView( trvList.Nodes, result, absIndex );
				db.RunDelOrInsSQL( result );
				strSQL = "update 组织机构编码表 set 拼音编码=b.拼音编码, " +
					"单位地址=b.单位地址,单位电话号码=b.单位电话号码," + 
					"开户银行=b.开户银行,帐号=b.帐号,开户全称=b.开户全称" +
					" from 组织机构编码表 as a, zzjptem as b " +
					" where a.单位编号=b.单位编号" + " drop table zzjptemp " + " commit ";
				db.RunDelOrInsSQL( strSQL );
			}
			catch ( Exception ex )
			{
				MessageBox.Show( "保存失败,编码重复或位数超长" + ex.ToString() );
				db.RunDelOrInsSQL( "rooback" );
			}
			db.Dispose();
		}

		private void btnDel_Click(object sender, System.EventArgs e)
		{
			trvList.SelectedNode.Remove();
		}

		private void frmDepManage_Load(object sender, System.EventArgs e)
		{
			DataBase db = new DataBase();
			string strSQL = "select * from 组织机构编码表 order by absIndex";
			dvList = db.RunSelectSQL( strSQL );
			db.Dispose();
			// 初始化TreeView控件的各个节点
			InitTree( trvList.Nodes, "-1" );
		}
	}
}

⌨️ 快捷键说明

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