20151124002 treeView 数型菜单的操作

protected void FillTree()
        {
            SqlConnection1 = new System.Data.SqlClient.SqlConnection();
            SqlConnection1.ConnectionString = str_connect_88;
            string sql_text1 = " select distinct [per_dpt] FROM [kqdata].[dbo].[personal] ";
            this.SqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter(sql_text1, SqlConnection1);

this.DataSet1 = new System.Data.DataSet();
            this.SqlConnection1.Open();
            this.SqlDataAdapter1.Fill(DataSet1, "personal");
            this.SqlConnection1.Close();

Int32 int_count = DataSet1.Tables[0].Rows.Count;

TreeNode tmp;
            tmp = new TreeNode("xx公司");
            treeView1.Nodes.Add(tmp);
            treeView1.SelectedNode = tmp;

//dgv_from.DataSource = DataSet1.Tables[0];
            for (int i = 0; i < int_count; i++)
            {
                TreeNode tn = new TreeNode();
                tn.Text = DataSet1.Tables[0].Rows[i]["per_dpt"].ToString();
                treeView1.SelectedNode.Nodes.Add(tn);

// 2
                string sql_text2 = " select distinct [per_zhu] FROM [kqdata].[dbo].[personal] where [per_dpt] = ‘" + tn.Text + "‘ ";
                this.SqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter(sql_text2, SqlConnection1);

this.DataSet2 = new System.Data.DataSet();
                this.SqlConnection1.Open();
                this.SqlDataAdapter1.Fill(DataSet2, "personal");
                this.SqlConnection1.Close();

treeView1.SelectedNode = tn;
                Int32 int_count2 = DataSet2.Tables[0].Rows.Count;
                if (int_count2 > 0)
                {
                    for (int i2 = 0; i2 < int_count2; i2++)
                    {
                        TreeNode tn2 = new TreeNode();
                        tn2.Text = DataSet2.Tables[0].Rows[i2]["per_zhu"].ToString();
                        if (tn2.Text.Trim() != "")
                        {
                            treeView1.SelectedNode.Nodes.Add(tn2);
                        }

treeView1.SelectedNode = tn;

// 3
                        string sql_text3 = " select distinct [per_ban] FROM [kqdata].[dbo].[personal] where [per_zhu] = ‘" + tn2.Text + "‘ ";
                        this.SqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter(sql_text3, SqlConnection1);

this.DataSet3 = new System.Data.DataSet();
                        this.SqlConnection1.Open();
                        this.SqlDataAdapter1.Fill(DataSet3, "personal");
                        this.SqlConnection1.Close();

treeView1.SelectedNode = tn2;
                        Int32 int_count3 = DataSet3.Tables[0].Rows.Count;
                        if (int_count3 > 0)
                        {
                            for (int i3 = 0; i3 < int_count3; i3++)
                            {
                                TreeNode tn3 = new TreeNode();
                                tn3.Text = DataSet3.Tables[0].Rows[i3]["per_ban"].ToString();
                                if (tn3.Text.Trim() != "")
                                {
                                    treeView1.SelectedNode.Nodes.Add(tn3);
                                }

treeView1.SelectedNode = tn2;
                            }
                        }

treeView1.SelectedNode = tn;

}
                }

treeView1.SelectedNode = tmp;

//
            }

//展开组件中的所有节点
            treeView1.SelectedNode.ExpandAll();
            //定位根节点
            treeView1.SelectedNode = treeView1.Nodes[0];
        }

private void Frm_Main_Load(object sender, EventArgs e)
        {
            FillTree();
        }

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            if (e.Action == TreeViewAction.ByMouse)//判断是否由鼠标触发的
            {
                if (treeView1.SelectedNode != null)
                {
                    MessageBox.Show(treeView1.SelectedNode.Text);
                }
            }
        }

时间: 2024-08-25 19:56:47

20151124002 treeView 数型菜单的操作的相关文章

linux设备驱动归纳总结(三):2.字符型设备的操作open、close、read、write【转】

本文转载自:http://blog.chinaunix.net/uid-25014876-id-59417.html linux设备驱动归纳总结(三):2.字符型设备的操作open.close.read.write 一.文件操作结构体file_operations 继续上次没讲完的问题,文件操作结构体到底是什么东西,为什么我注册了设备之后什么现象都没有?可以验证文件操作结构体的内容. file_operations是一个函数指针的集合,用于存放我们定义的用于操作设备的函数的指针,如果我们不定义,

oracle使用connect by进行级联查询 树型菜单

Oracle使用connect by进行级联查询 树型菜单(转) connect by可以用于级联查询,常用于对具有树状结构的记录查询某一节点的所有子孙节点或所有祖辈节点. 来看一个示例,现假设我们拥有一个菜单表t_menu,其中只有三个字段:id.name和parent_id.它们是具有父子关系的,最顶级的菜单对应的parent_id为0.现假设我们拥有如下记录: id name parent_id 1 菜单01 0 2 菜单02 0 3 菜单03 0 4 菜单0101 1 5 菜单0102

JavaScript 32位整型无符号操作

在 JavaScript 中,所有整数字变量默认都是有符号整数,这意味着什么呢? 有符号整数使用 31 位表示整数的数值,用第 32 位表示整数的符号,0 表示正数,1 表示负数. 数值范围从 -2^31 - 2^31-1 即 -2147483648 到 2147483647. JavaScript 进行位操作时,是采用32位 有符号 整型,这意味着其转换的结果也是32位有符号整型. 有些时候,我们进行移位会出现意想不到的结果,以下是C语言 与 JS 的对比. C语言 1 unsigned in

Android 读取手机联系人、拨号、发送短信及长按菜单的操作

本示例实现了读取手机联系人,拨号.发送短信及长按出现菜单选项的操作↓ 1.Andrid项目结构图↓主要操作图中红色方框内的文件. 2.首先布局代码如下↓ a, main.xml 程序运行的主界面,主要用ListView列表控件展示手机联系人 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/a

树型菜单

不在大家有没有注意到,我们电脑的每个文件夹就是一个树型菜单,可以有很多下级菜单. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <he

ASP.NET - TreeView控件,只操作最后一级节点

效果: 绑定TreeView控件:http://www.cnblogs.com/KTblog/p/4792302.html 主要功能: 点击节点的时候,只操作最后一级的节点,其他节点跳过不执行代码. 代码: 1 using System; 2 using System.Collections.Generic; 3 using System.Data; 4 using System.Data.SqlClient; 5 using System.Web.UI.WebControls; 6 7 nam

php递归函数实现无限级树型菜单

!!写递归函数,可考虑缓存,定义一些静态变量来存上一次运行的结果,多程序运行效率很有帮助. 大概步骤如下: 首先到数据库取数据,放到一个数组, 然后把数据转化为一个树型状的数组, 最后把这个树型状的数组转为html代码. 也可以将第二步和第三步合为一步. 详细如下: 1.数据库设计: 脚本如下: CREATE TABLE `bg_cate` ( `cate_Id` int(30) unsigned NOT NULL AUTO_INCREMENT, `cate_ParentId` int(30)

[WinForm]TreeView 添加右键菜单

关机代码: #region 添加右键菜单 /// <summary> /// 添加右键菜单 /// <para>eg: treeF18.AttachMenu(contextMenuTree, n => n != null);</para> /// </summary> /// <param name="treeView">TreeView</param> /// <param name="co

关于各个数据库中限制取出数据条数的简餐操作

今天去面试之后,面试的小哥给了个比较简单的问题,但是自己没有答上来. 问题: SQL SERVER中如何限制取出数据的条数: 1. Oracle中的操作是:rownumber关键字限制: SELECT * FROM tbl_name ROWNUMBER num 2. Mysql中的限制条数是: SELECT * FROM tbl_name LIMIT num; 3. SQL SERVER 中操作是: SELECT * FROM tbl_name TOP num;