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()和 ...
随机推荐
- 详细讲解Quartz.NET
Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net应用中.它提供了巨大的灵活性而不牺牲 ...
- 正确导入android-support-v4.jar的方法
在导入使用了ViewPage,ActionBar,Fragment的工程后出现错误,很有可能是没有导入4.0版本的支持包. 首先在Project->properties->Java Bui ...
- 部署基于JDK的webservice服务类
部署服务端 两个注解(@WebService @WebMethod).一个类(Endpoint) 首先新建JAVA工程ws-server 目录结构如下 在工程里新建一个接口,申明一个方法. packa ...
- jeasyui datagrid 使用记
1. 一开始想用$('#dg').datagrid('getChanges')来保存整个table修改的行, 结果发现当前编辑的行不算,要失去焦点才有记录 2. 然后改用 $('#dg') ...
- 删除NSMutableArray中的二维数组
// 删除模型数据 [self.mutableArr[indexPath.section] removeObjectAtIndex:indexPath.row]; //删除UI(刷新数据,UI) [s ...
- 一步一步学习Swift之(一):关于swift与开发环境配置
一.什么是Swift? 1.Swift 是一种新的编程语言,用于编写 iOS 和 OS X 应用. 2.Swift 结合了 C 和 Objective-C 的优点并且不受 C 兼容性的限制. 3.Sw ...
- 事件监听addEventListener()和removeEventListener() ---------1
一直想写一个原生事件监听的记录,方便以后看,不愿意写主要是事件监听的单词太长,记起来好难记每次都要查,这次把知道的写完了,来这里查好了,以后要是理解的更透彻了,就再补全好了 首先,DOM0级事件和DO ...
- 树形dp Anniversary party(HDU1520)
题意:给出一棵树,(上下级关系)每个节点都有一个权值,要求选出一些节点满足这些节点任意连个点都不是直接的上下级关系,可以得到的最大权值是多少? 分析:对于每个点有两个状态选或者不选,用状态数组dp[u ...
- Java基础(51):Super与this的区别
1. 子类的构造函数如果要引用super的话,必须把super放在函数的首位. class Base { Base() { System.out.println("Base" ...
- struts2中Double类型的转换
今天做项目,ssh + Extjs,页面js中定义了几个NumberField,对应的value都是double类型的,其中有个NumberField的name为 name,结果执行的时候报错了,说找 ...