treeview树形菜单,递归
我使用的是递归是实现无限级树形菜单:
using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Data.SqlClient; namespace Power.Sbtree { public partial class Left : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { showTree(); } private void addChildNode(TreeNode parent, string parentID) { //获得以parent的ID为父节点的子结点 DataTable dtChild = SqlHelper.ExecSQLDataTable("select * from tab_Sbtree where Sb_parentID='" + parentID + "'"); if (dtChild.Rows.Count > 0) { for (int i = 0; i < dtChild.Rows.Count; i++) { //TreeNode node1 = parent.ChildNodes.Add(dtChild.Rows[i][0].ToString().Trim(), dtChild.Rows[i][1].ToString().Trim(), 1); TreeNode node1 = new TreeNode(); node1.Text = dtChild.Rows[i][1].ToString().Trim(); parent.ChildNodes.Add(node1); addChildNode(node1, dtChild.Rows[i][0].ToString().Trim()); } } } private void showTree() { try { treeView1.Nodes.Clear(); DataTable dtEquipment = SqlHelper.ExecSQLDataTable("select * from tab_Sbtree where Sb_parentID='0'"); //读总根结点 for(int i =0;i<dtEquipment.Rows.Count;i++) { TreeNode node0 = new TreeNode(); node0.Text= dtEquipment.Rows[i][1].ToString().Trim(); treeView1.Nodes.Add(node0);//根节点 addChildNode(node0, dtEquipment.Rows[i][0].ToString().Trim()); } } catch (SqlException ex) { //MessageBox.Show("数据库访问异常" + ex.Message.ToString(), "错误提示框", MessageBoxButtons.OK, MessageBoxIcon.Error); Response.Write("<Script Language=JavaScript>alert('数据库访问异常!')</Script>"); } } protected void treeView1_SelectedNodeChanged(object sender, EventArgs e) { } protected void treeView1_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e) { // Session["tree"]=treeView1.test; } } }
我这借助的使用了sqlhelper 这个工具类,效果如下图
下面是我的数据库
这就是一个简单的树形菜单。
treeview树形菜单,递归的更多相关文章
- java构建树形菜单递归工具类
1.设计菜单实体 import java.util.List; public class Menu { //菜单id private Long id; //父节点id private Long par ...
- WPF树形菜单--递归与非递归遍历生成树结构的集合
一.新建了WPF项目作为测试,使用TreeView控件进行界面展示. 第一步创建实体类TreeEntity: public class TreeEntity { private int _mid; p ...
- Unity 引擎UGUI之自定义树形菜单(TreeView)
先上几张效果图: 如果你需要的也是这种效果,那你就来对地方了! 目前,我们这个树形菜单展现出来的功能如下: 1.可以动态配置数据源: 2.点击每个元素的上下文菜单按钮(也就是图中的三 ...
- Vue.js 递归组件实现树形菜单
最近看了 Vue.js 的递归组件,实现了一个最基本的树形菜单. 项目结构: main.js 作为入口,很简单: import Vue from 'vue' Vue.config.debug = tr ...
- jQuery树形菜单(1)jquery.treeview
jQuery的树形插件资料URL:http://bassistance.de/jquery-plugins/jquery-plugin-treeview/从该网站Download得到jquery.tr ...
- TreeView树形控件递归绑定数据库里的数据
TreeView树形控件递归绑定数据库里的数据. 第一种:性能不好 第一步:数据库中查出来的表,字段名分别为UNAME(显示名称),DID(关联数据),UTYPE(类型) 第二步:前台代码 <% ...
- 用Vue.js递归组件构建一个可折叠的树形菜单
在Vue.js中一个递归组件调用的是其本身,如: Vue.component('recursive-component', { template: `<!--Invoking myself! ...
- Vue.js递归组件实现动态树形菜单
使用Vue递归组件实现动态菜单 现在很多项目的菜单都是动态生成的,之前自己做项目也是遇到这种需求,翻看了官网案例,和网上大神的案例.只有两个感觉,官网的案例太简洁,没有什么注释,看起来不太好理解,大神 ...
- jquery树形菜单插件treeView
Jquery的treeview很好用,如果是简单的树形菜单按照下面的源码实例模仿就可以. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tr ...
随机推荐
- HBase的Snapshots功能介绍
HBase的Snapshots功能介绍 hbase的snapshot功能还是挺有用的,本文翻译自cloudera的一篇博客,希望对想了解snapshot 的朋友有点作用,如果翻译得不好的地方,请查看原 ...
- HDU 3068 最长回文 【最长回文子串】
和上一题一样,不过这题只是要求最长回文子串的长度 在此采用了非常好用的Manacher算法 据说还是O(n) 的效率QAQ 详细用法参考了上篇博客的参考资料,这两天有空学习一下~ Source cod ...
- django集成微博内容
登录微博 我的工具 OK. 分享sns网站的网址分享道.去上面获取代码就可. 改版后叫微博秀
- Week1(9月12日):很激动的第一次课
Part I:课程介绍 =========================== 1. 学时 8*16=128 2. 时间 周二1234,周五1234 3. 地点 E307 4. 考试方式 笔试+上机 ...
- Hbuilder主页面控制子页面的方法
主页面的写法 (function($, doc) { mui.init({ swipeBack : false, ...
- HDU 2040:亲和数
亲和数 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submis ...
- cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062: 解决办法
问题原因:很可能是/var/log的权限设置不正确.首先执行 mkpasswd 和 mkgroup 重新生成权限信息,再删除sshd服务,重新配置 解决办法: $ mkpasswd -l > / ...
- PHP - 对象转json - json转数组
前台js转为json,传给php后台,php后台接收并转为数组. 效果: -- 前台js将对象转为json: var rows = JSON.stringify(rows); 后台php接收转为数组: ...
- BZOJ 3359: [Usaco2004 Jan]矩形( dp )
数据范围这么小..怎么乱搞都可以吧... 先排序一遍然后O(n²) dp --------------------------------------------------------------- ...
- 第一个hibernate文件 xml配置方法
package com.entity; public class User { private String username; private String password; private In ...