Tree:

namespace ECTECH.NorthSJ.Web.SysData
{
public partial class testTree : BasePage
{
protected int roleId = ; protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
List<Model.Funcs> list = new BLL.RoleFuncs().GetRFunc("", roleId);
foreach(Model.Funcs func in list)
{
FineUI.TreeNode node = new TreeNode() { Text = func.Name, NodeID = func.ID.ToString(), Leaf = false, EnableCheckBox=true };
LoadChildNode(func.FuncCode,roleId, node);
tree1.Nodes.Add(node);
}
}
} private void LoadChildNode(string parentCode, int roleId,TreeNode node)
{
List<Model.Funcs> list = new BLL.RoleFuncs().GetRFunc(parentCode, roleId);
foreach (Model.Funcs func in list)
{
TreeNode nodeChild = new TreeNode() { Text = func.Name, NodeID = func.ID.ToString(), Leaf = true, EnableCheckBox = true };
node.Nodes.Add(nodeChild);
}
} protected void btn1_Click(object sender, EventArgs e)
{
string[] ids = tree1.SelectedNodeIDArray;
string idStr = string.Join(",", ids);
lbResult.Text = idStr;
} }

Form:

    <form id="form1" runat="server">
<div>
<x:PageManager ID="PageManager1" AutoSizePanelID="RegionPanel1" runat="server">
</x:PageManager>
<x:Tree ID="tree1" EnableMultiSelect="true" runat="server"></x:Tree>
<x:Button ID="btn1" Text="确定" runat="server" OnClick="btn1_Click"></x:Button>
<x:Label ID="lbResult" EncodeText="false" runat="server"></x:Label>
</div>
</form>

树节点,绑定到DataTable:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI; using System.Data;
using FineUI; namespace Test_Web1
{
public partial class TreeTable : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(! IsPostBack)
{
LoadData();
}
} private void LoadData()
{
DataTable dt = CreateTable();
DataSet ds = new DataSet();
ds.Tables.Add(dt);
ds.Relations.Add("treeRelation", ds.Tables[].Columns["ID"],ds.Tables[].Columns["PID"]); foreach(DataRow row in ds.Tables[].Rows)
{
if(row["PID"]==DBNull.Value)
{
TreeNode node = new TreeNode();
node.Text = row["Name"].ToString();
node.NodeID = row["ID"].ToString();
node.Expanded = true;
Tree1.Nodes.Add(node); ResolveSubTree(row, node);
}
}
} private void ResolveSubTree(DataRow row, TreeNode node)
{
DataRow[] rows = row.GetChildRows("treeRelation");
if(rows.Length>)
{
foreach(DataRow r in rows)
{
TreeNode n = new TreeNode();
n.Text = r["Name"].ToString();
n.NodeID = r["ID"].ToString();
n.ParentNode = node;
node.Nodes.Add(n); ResolveSubTree(r, n);
}
}
} public DataTable CreateTable()
{
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(string));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("PID", typeof(string)); DataRow row = dt.NewRow();
row["ID"] = "";
row["Name"] = "四川省";
row["PID"] = DBNull.Value;
dt.Rows.Add(row); row = dt.NewRow();
row["ID"] = "";
row["Name"] = "江苏省";
row["PID"] = DBNull.Value;
dt.Rows.Add(row); row = dt.NewRow();
row["ID"] = "";
row["Name"] = "苏州市";
row["PID"] = "";
dt.Rows.Add(row); row = dt.NewRow();
row["ID"] = "";
row["Name"] = "常州市";
row["PID"] = "";
dt.Rows.Add(row); row = dt.NewRow();
row["ID"] = "";
row["Name"] = "镇江市";
row["PID"] = "";
dt.Rows.Add(row); row = dt.NewRow();
row["ID"] = "";
row["Name"] = "无锡市";
row["PID"] = "";
dt.Rows.Add(row); row = dt.NewRow();
row["ID"] = "";
row["Name"] = "达州市";
row["PID"] = "";
dt.Rows.Add(row); row = dt.NewRow();
row["ID"] = "";
row["Name"] = "广元市";
row["PID"] = "";
dt.Rows.Add(row); row = dt.NewRow();
row["ID"] = "";
row["Name"] = "宣汉县";
row["PID"] = "";
dt.Rows.Add(row); row = dt.NewRow();
row["ID"] = "";
row["Name"] = "大竹县";
row["PID"] = "";
dt.Rows.Add(row); return dt; }
}
}

WebForm中创建树节点TreeNode的更多相关文章

  1. webform 创建树

    using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI ...

  2. PAT树_层序遍历叶节点、中序建树后序输出、AVL树的根、二叉树路径存在性判定、奇妙的完全二叉搜索树、最小堆路径、文件路由

    03-树1. List Leaves (25) Given a tree, you are supposed to list all the leaves in the order of top do ...

  3. [LeetCode] Inorder Successor in BST 二叉搜索树中的中序后继节点

    Given a binary search tree and a node in it, find the in-order successor of that node in the BST. No ...

  4. DS Tree 已知后序、中序 => 建树 => 求先序

    注意点: 和上一篇的DS Tree 已知先序.中序 => 建树 => 求后序差不多,注意的地方是在aftorder中找根节点的时候,是从右往左找,因此递归的时候注意参数,最好是拿纸和笔模拟 ...

  5. DS Tree 已知先序、中序 => 建树 => 求后序

    参考:二叉树--前序和中序得到后序 思路历程: 在最初敲的时候,经常会弄混preorder和midorder的元素位置.大体的思路就是在preorder中找到根节点(根节点在序列的左边),然后在mid ...

  6. 【Ext.Net学习笔记】01:在ASP.NET WebForm中使用Ext.Net

    Ext.NET是基于跨浏览器的ExtJS库和.NET Framework的一套支持ASP.NET AJAX的开源Web控件,包含有丰富的Ajax运用,其前身是Coolite. 下载地址:http:// ...

  7. Ext.Net学习笔记01:在ASP.NET WebForm中使用Ext.Net

    Ext.Net是一个对ExtJS进行封装了的.net控件库,可以在ASP.NET WebForm和MVC中使用.从今天开始记录我的学习笔记,这是第一篇,今天学习了如何在WebForm中使用Ext.Ne ...

  8. [Swift]LeetCode285. 二叉搜索树中的中序后继节点 $ Inorder Successor in BST

    Given a binary search tree and a node in it, find the in-order successor of that node in the BST. Th ...

  9. [转]WebForm中使用MVC

    本文转自:https://www.cnblogs.com/encoding/articles/3556046.html 前言 掐指一算,3年没写博了,好懒的说... 众所周知,MVC现在越来越火了,不 ...

随机推荐

  1. 20145240 《Java程序设计》第五次实验报告

    20145240 <Java程序设计>第五次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1452 指导教师:娄嘉鹏 实验日期:2016.05.06 实验 ...

  2. mini2440移植uboot 2014.04(六)

    上一篇博文:<mini2440移植uboot 2014.04(五)> 代码已经上传到github上:https://github.com/qiaoyuguo/u-boot-2014.04- ...

  3. 使用fastboot刷机流程【转】

    本文转载自:http://www.voidcn.com/blog/Qidi_Huang/article/p-6236224.html [准备工作] 首先需要准备好刷机包,可以是自己编译的,也可以是从别 ...

  4. Kubernetes Kube-proxy

    Kube-proxy主要负责Service的实现. kube-proxy enables the Kubernetes service abstraction by maintaining netwo ...

  5. 手把手教你安装SSL证书升级https

    是不是觉得别人网站前面的小绿锁很好看? 而且,Google官方也正式承认过https是影响搜索排名的一个因素,那么如何将自己的网站全面升级为https呢?今天的内容就介绍一下如何将部署在Nginx的W ...

  6. HDU1565 方格取数(1)

    Problem Description 给你一个n*n的格子的棋盘,每个格子里面有一个非负数.从中取出若干个数,使得任意的两个数所在的格子没有公共边,就是说所取的数所在的2个格子不能相邻,并且取出的数 ...

  7. Python之flask总结

    一.flask      a.Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收htt ...

  8. JMeter 3.0 POST Body Data 中文乱码问题

    现象如下图所示:

  9. 利用ChromeOptions()加载用户配置

    一. 如何绕过页面登录 我们在登录网站的时候,通常需要输入用户名.密码和验证码,那么有没有办法绕过登录环节呢? 有两种方法可以解决这个问题,一种是利用chrome浏览器的用户配置,一种是利用cooki ...

  10. HANA 存储过程

    You can develop secure procedures using SQLScript in SAP HANA by observing the following recommendat ...