部门树形结构,使用Treeview控件显示部门
部门树形结构。设计张部门表用于存储部门编码、名称、上级部门id,使用Treeview控件显示部门树,并实现部门增删改、移动、折叠等功能。特别提示,部门有层级关系,可用donetbar的adtree控件

代码如下
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms; namespace 部门树形结构
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
BindTree("");
}
DBHelp s = new DBHelp();
private void BindTree(string pid)
{
string str = "select * from biao where SJ_id=" + int.Parse(pid);
DataTable ta = s.getTableBySql(str);
if (ta.Rows.Count > )
{
for (int i = ; i < ta.Rows.Count; i++)
{
TreeNode node = new TreeNode();
node.Text = ta.Rows[i]["name"].ToString();
node.Tag = ta.Rows[i]["id"].ToString();
this.treeView1.Nodes.Add(node);
BindNode(node);
}
}
}
private void BindNode(TreeNode nd)
{
string str = "select * from biao where SJ_id="+ Convert.ToString(nd.Tag);
DataTable ta = s.getTableBySql(str);
for (int i = ; i < ta.Rows.Count; i++)
{
TreeNode node = new TreeNode();
node.Text = ta.Rows[i]["name"].ToString();
node.Tag = ta.Rows[i]["id"].ToString();
nd.Nodes.Add(node);//重点
BindNode(node);
}
} private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
if (treeView1.SelectedNode != null)//重点部分
{
txt_id.Text= treeView1.SelectedNode.Tag.ToString();//取值
txt_name.Text= treeView1.SelectedNode.Text; string str = "select * from biao where id=" + int.Parse(txt_id.Text);
DataTable ta = s.getTableBySql(str);
txt_sj.Text = ta.Rows[]["SJ_id"].ToString();
}
}
//添加
private void buttonX1_Click(object sender, EventArgs e)
{
string sql_add =string.Format("insert into biao(name,SJ_id) values('{0}',{1})", txt_name.Text,int.Parse(txt_sj.Text));
if (s.ExecuteIDUBySql(sql_add) > )
{
MessageBox.Show("添加成功!", "消息");
}
else
{
MessageBox.Show("添加失败!", "消息");
}
treeView1.Nodes.Clear();
BindTree("");
}
}
}
部门树形结构,使用Treeview控件显示部门的更多相关文章
- 如何:使用TreeView控件实现树结构显示及快速查询
本文主要讲述如何通过使用TreeView控件来实现树结构的显示,以及树节点的快速查找功能.并针对通用树结构的数据结构存储进行一定的分析和设计.通过文本能够了解如何存储层次结构的数据库设计,如何快速使用 ...
- asp.net TreeView控件绑定数据库显示信息
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- [转] C#2010 在TreeView控件下显示路径下所有文件和文件夹
原文 张丹-小桥流水,C#2010 在TreeView控件下显示路径下所有文件和文件夹 C#2010学习过程中有所收获,便总结下来,希望能给和我一样在学习遇到困难的同学提供参考. 本文主要介绍两个自定 ...
- Win32中TreeView控件的使用方法,类似于资源管理器中文件树形显示方式
首先是头文件,内容如下: #include <tchar.h> #include "..\CommonFiles\CmnHdr.h" #include <Wind ...
- 在TreeView控件节点中显示图片
实现效果: 知识运用: TreeView控件中Nodes集合的Add方法 //创建节点并将节点放入集合中 public virtual TreeNode Add (string key,string ...
- TreeView控件概述、属性与方法
1.作用:用于显示Node结点的分层列表.2.添加到控件箱菜单命令:工程 | 部件,在部件对话框中选择:Microsoft Windows Common Controls 6.03.TreeView控 ...
- WPF中TreeView控件数据绑定和后台动态添加数据(一)
数据绑定: 更新内容:补充在MVVM模式上的TreeView控件数据绑定的代码. xaml代码: <TreeView Name="syntaxTree" ItemsSourc ...
- asp TreeView控件的使用
相对于之前发过一个TreeView控件的使用方法 本次利用js操作,页面无刷新,性能提高 Css编码可能时我的模板页样式被继承下来,导致页面变乱,不需要的可以去掉 前台 <style> . ...
- Winform TreeView控件技巧
在开发的时候经常使用treeview控件来显示组织结构啊,目录结构啊,通常会结合属性checkedboxs,来做选中,取消的操作下面是一个选中,取消的小例子,选中节点的时候,如果节点存在子节点,可以选 ...
随机推荐
- 在包a中新建一个类A,在类A中有一个int add(int m)方法,用来求1+2+…+m 的和。在包b中新建一个类B,在类B中有一个int cheng(int n)方法,用来求n! 的结果。在包c中新建一个主类C,调用A、B中的方法输出1+2+…+30的和, 以及5!的计算结果。
package a; public class A { public void add(int m) { int sum=0; for (int i = 1; i <=m; i++) { sum ...
- 【leetcode❤python】66. Plus One
class Solution: # @param digits, a list of integer digits # @return a list of integer digi ...
- CF 321B Ciel and Duel(费用流)
题目链接:http://codeforces.com/problemset/problem/321/B 题意:两个人,分别有n.m张牌.每张牌有两个属性类型和能力,类型为攻击或者防守.B的m张牌的属性 ...
- C# 多线程 Invoke BeginInvoke
Invoke在线程中等待Dispatcher调用指定方法,完成后继续下面的操作. BeginInvoke不必等待Dispatcher调用制定方法,直接继续下面的操作. 来自:百度知道 这个在线程中操作 ...
- V-rep学习笔记:机器人逆运动学数值解法(The Pseudo Inverse Method)
There are two ways of using the Jacobian matrix to solve kinematics. One is to use the transpose of ...
- sql 相关子查询
子查询:嵌套在其他查询中的查询. 子查询有称内部查询,而包含子查询的语句称之为外部查询 所有的子查询可以分两类,既 相关子查询和非相关子查询 1>非相关子查询是独立于外部查询的子查询,子查询总共 ...
- UpdatePanel的简单用法(转)
微软AJAX虽然是过时的玩意,但是得维护公司之前的老项目,转载看看. 局部更新是ajax技术的最基本,也是最重要的用法,今天大概把asp.net ajax中的局部更新控件 updatepanel的用法 ...
- updatePanel导致JS失效的解决办法(转)
吐槽下,维护别人之前做的项目好蛋疼,整个页面都是用微软的ajax框架. 今天给repeater用JS写一个hover事件 <script type="text/javascript&q ...
- Java I/O NIO学习
给出一个学习的链接讲的很全.. http://ifeve.com/java-nio-all/ 上边的是中文翻译的这里是原地址:http://tutorials.jenkov.com/java-nio/ ...
- JAVA中Response的几种用法(设定时间调整到指定页面 ....... )
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%&g ...