20151124002 treeView 数型菜单的操作
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);
}
}
}
20151124002 treeView 数型菜单的操作的更多相关文章
- linux设备驱动归纳总结(三):2.字符型设备的操作open、close、read、write【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-59417.html linux设备驱动归纳总结(三):2.字符型设备的操作open.close.rea ...
- JS树型菜单
本树型菜单主要实现功能有:基本的树型菜单,可勾选进行多选项操作. 本树型菜单适合最初级的学者学习,涉及内容不难,下面看代码. 首先看View的代码,第一个<div>用来定义树显示的位置和i ...
- C#winform菜单权限分配,与菜单同步的treeView树状菜单权限控制使用心得
在网上查了很多,发现没有讲述关于--C#winform菜单权限分配,与菜单同步的treeView树状菜单权限控制使用--的资料 自己研究了一个使用方法.下面来看看. 我有两个窗体:LOGINFRM,M ...
- 【Linux开发】linux设备驱动归纳总结(三):2.字符型设备的操作open、close、read、write
linux设备驱动归纳总结(三):2.字符型设备的操作open.close.read.write 一.文件操作结构体file_operations 继续上次没讲完的问题,文件操作结构体到底是什么东西, ...
- 下拉的DIV+CSS+JS二级树型菜单
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- oracle使用connect by进行级联查询 树型菜单
Oracle使用connect by进行级联查询 树型菜单(转) connect by可以用于级联查询,常用于对具有树状结构的记录查询某一节点的所有子孙节点或所有祖辈节点. 来看一个示例,现假设我们拥 ...
- AutoIT: 对文件系统的菜单进行操作,有专门的语句WinMenuSelectItem
对文件系统的菜单进行操作,有专门的语句WinMenuSelectItem: Run("notepad.exe") WinWaitActive("[CLASS:Notepa ...
- WordPress隐藏后台左侧菜单如何操作
前面我们讲了wordpress后台添加左侧边栏菜单如何操作,反过来如果想要隐藏一些菜单怎么实现呢?我们可以通过remove_menu_page()函数来完成,将如下代码加入到当前主题function. ...
- wordpress后台添加左侧边栏菜单如何操作
我们有时为了方便操作会把一些特定的链接添加到wordpress后台左侧菜单栏中,这个要如何实现呢?其实不会很难,使用两个WordPress内置函数就可以解决问题,分别是add_menu_page()和 ...
随机推荐
- jquery网址
各种分布图的插件:http://echarts.baidu.com/demo.html
- Process启动.exe,当.exe内部抛出异常时,总会弹出一个错误提示框,阻止Process进入结束
public class TaskProcess { [DllImport("kernel32.dll", SetLastError = true)] public static ...
- 如何不切换windows登陆用户,更换用户名访问共享文件夹
@echo offnet use * /del /ynet use \\192.168.2.1 /user:wr@echo off 先进行删除所有,然后在进行映射,按照部门来,不同的部门可能需要映射的 ...
- SQL 2008 数据库只读 修改
先对数据库分离 数据库鼠标右键->任务->分离 将UsersDB.mdf UsersDB_log.LDF文件 属性->安全->编辑 两个文件的都要更改权限 ...
- Ruby调用Excel相关的函数
require 'win32ole'myexcel = WIN32OLE.new("excel.application")#WIN32OLE.open 方法打开用例文件,用Call ...
- C#:IO
1. File和Directory类 这两个类属于静态类,经常用到的比如File.Exists(string path), Directory.Exists(string path), Directo ...
- CCF真题之画图
201409-2 问题描述 在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色. 下图给出了一个画了两个矩形的 ...
- cocos2d对动画的各种操作
瞬时动作:瞬时动作的基类是InstantAction 1.放置位置 CGPoint p = ccp(width,height); [sprite runAction:[CCPlace action ...
- RMAN备份演练进阶篇
前篇介绍了通过rman进行各种备份,进阶篇则主要是rman的一些功能扩展和增加功能,利用前篇你已经完全可以完成数据库的备份,而通过本篇你可以更好更方便的完成数据库的备份. 一.建立增量备份 如果数据库 ...
- Junit单元测试-环境配置
JUnit是Java单元测试框架,已经在Eclipse中默认安装.目前主流的有JUnit3和JUnit4.JUnit3中,测试用例需要继承TestCase类.JUnit4中,测试用例无需继承TestC ...