C#实现treeview绑定的方法
本文实例讲述了C#实现treeview绑定的方法。分享给大家供大家参考。具体实现方法如下:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bindTree();
}
}
private void bindTree()
{
ALIYUN_PIC.BLL.Folder_oper_BLL bll = new Folder_oper_BLL();
DataTable dt = bll.PIC_Bind();//得到需要的datatable
this.FillNode(dt, null);
}
private void FillNode(DataTable dt, TreeNode node)
{
DataView dv = new DataView(dt);
if (node == null) //根结点
{
dv.RowFilter = "PARENT_NODE='0'"; //筛选到根结点的所有子节点
}
else //不是根结点
{
dv.RowFilter = "PARENT_NODE='" + node.Value + "'"; //筛选对应节点的所有子节点
}
foreach (DataRowView drv in dv) //遍历填充节点的所有子节点,如果传入的节点node为叶子节点,遍历要退出,不再进行递归
{
TreeNode no = new TreeNode(drv["NODE_NAME"].ToString(), drv["id"].ToString());
FillNode(dt, no); //填充no节点的子节点
if (node == null)
{
this.PIC_TREE.Nodes.Add(no);
}
else
{
node.ChildNodes.Add(no);
}
}
}
希望本文所述对大家的C#程序设计有所帮助。
相关推荐
-
C#搜索TreeView子节点,保留父节点的方法
本文实例讲述了C#搜索TreeView子节点,保留父节点的方法.分享给大家供大家参考.具体如下: C# 搜索TreeView子节点保留父节点: private void selectNodeByName(string name) { //重新生生成树, InitTvCatalog(); //删除节点 selectNode(tvCatalog.Nodes, name); } private void selectNode(TreeNodeCollection nodes, string name)
-
C#中TreeView实现适合两级节点的选中节点方法
本文实例讲述了C#中TreeView实现适合两级节点的选中节点方法.分享给大家供大家参考.具体如下: class TreeViewChecked { bool isfirst = true; public TreeViewChecked(TreeView treeView) { treeView.AfterCheck += new TreeViewEventHandler(treeView_AfterCheck); treeView.AfterSelect += new TreeViewEven
-
js获取Treeview选中的节点(C#选中CheckBox项)
方法网上有很多,试了一下都有瑕疵.最后找了个看上去代码比较少,比较顺眼的,测试结果报错说有几个函数不存在,于是设置断点调试,各个属性查找有用的字段,终于找到. 现整理如下: 首先,要想在javascript中获取treeview中带checkbox的节点,需要设置treeview节点的某些属性,我是在后台代码中添加的. 复制代码 代码如下: TreeNode newNode = new TreeNode(); newNode.Text = "showText"; newNode.Val
-
C# TreeView读取数据库简单实例
效果: 数据库: 思路: 利用for遍历,然后创建父节点,再根据父节点创建出子节点. 代码: 复制代码 代码如下: using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Data;using System.Collections;using System.Con
-
C# TreeView无限目录树实现方法
本文实例讲述了C# TreeView无限目录树实现方法.分享给大家供大家参考,具体如下: #region 绑定客户树 protected void bindTreeView() { TreeView1.Nodes.Clear(); string userid = Session["UserID"].ToString(); string sqlwr = new SY_ADMINUSER().GetUserIDListByLoginUser(userid, "CUSTOMERSE
-
c#的treeview绑定和获取值的方法
对Treelist 的一些功能的实现 1.数据绑定最基本的两个属性:KeyFieldName和ParentFieldName.(这两个属性一设置就基本上可以实现分级了) 可以通过代码的编写实现,也可以直接在属性里面直接实现. 这种数据库设计是比较常见的,一般数据满足树形关系就可以这样设计.绑定数据时,只需指定DataSource为对应 的DataTable,指定KeyFieldName为表主键字段,ParentFieldName为表指向主键的外键字段名. 复制代码 代码如下: private v
-
C# TreeView控件使用代码
当前选中项:TreeView.SelectedNode 增加顶级节点:TreeView.Nodes.Add("Key", "Text") 增加同级节点:TreeView.SelectedNode.Parent.Nodes.Add("Key", "Text") 增加子节点:TreeView.SelectedNode.Nodes.Add("Key", "Text") 全部展开:TreeVie
-
C#TreeView 无限级别分类实现方法
做分类 经常会用到无限级别的分类 先介绍一下数据库的表结构 tid 类别编号 tname 类别名称 pid 父类编号 测试数据就不写了,大家可以自己插入一下试试 查询制定类别的 所有的子类 sql 的 代码 复制代码 代码如下: alter proc proc_chaxun(@tid int )asbegin with tt as ( select tid,tname,pid from dbo.t_goodsType where tid=@tid union a
-
C#实现TreeView节点拖拽的方法
本文实例讲述了C#实现TreeView节点拖拽的方法.分享给大家供大家参考.具体如下: public Form1() { InitializeComponent(); treeView1.AllowDrop = true; treeView1.ItemDrag += new ItemDragEventHandler(treeView1_ItemDrag); treeView1.DragEnter += new DragEventHandler(treeView1_DragEnter); tree
-
c# TreeView添加右键快键菜单有两种方法
一种就是使用TreeView的ContextMenuStrip属性,添加一个新ContextMenuStrip,这个方法非常的简答直接,缺点是右键菜单是整个控件响应的,也就是说即使没有右键选中节点也是会触发快捷菜单的显示 这种方法里获取哪一个的node选中是通过这个方法: 复制代码 代码如下: TreeNode curNode = this.trvFolder.GetNodeAt(e.X, e.Y) 另一种是创建ContextMenuStrip,并且使用TreeView的NodeMouseCli
-
C#自定义DataGridViewColumn显示TreeView
我们可以自定义DataGridView的DataGridViewColumn来实现自定义的列,下面介绍一下如何通过扩展DataGridViewColumn来实现一个TreeViewColumn 1.TreeViewColumn类 TreeViewColumn继承自DataGridViewColumn,为了动态给TreeViewColumn传入一个TreeView,这里暴露出一个公共属性_root,可以绑定一个初始化的TreeView. 另外需要重写DataGridCell类型的CellTempl
随机推荐
- 基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
- Thinkphp微信公众号支付接口
- python使用正则表达式检测密码强度源码分享
- ASP.NET 程序中删除文件夹导致session失效问题的解决办法分享
- PHP实现bitmap位图排序与求交集的方法
- php中用加号与用array_merge合并数组的区别深入分析
- 简单的Python抓taobao图片爬虫
- 用C#编写ActiveX控件(二)
- Android实现检测手机摇晃的监听器
- JavaScript中读取和保存文件实例
- 如何查看连接MYSQL数据库的IP信息
- javascript属性访问表达式用法分析
- 关于numpy中np.nonzero()函数用法的详解
- 详解Linux中搭建常用服务器
- jQuery Validation插件remote验证方式的Bug解决
- JS显示日历和天气的方法
- BootStrap table删除指定行的注意事项(笔记整理)
- Rewrite.dll生成html
- 用原生VideoView进行全屏播放时的问题
- 分享Android开发自学笔记之AndroidStudio常用功能