.NET easyUI tree树状结构

简单的制作后台制作写一个json(string类型)格式

public partial class goodstype_type : System.Web.UI.Page
{
    public string datalist = "",tree="";
    goodstypeManage bll = new goodstypeManage();
    goodstype model = new goodstype();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            datalist = getlist();
           // tree = gettree("0");
        }
    }
    protected string getlist()
    {
        string s = "";

        DataTable data = bll.GetAllList();
        foreach (DataRow row in data.Rows)
        {
            s += "{\"id\":" + row["id"].ToString() + ",\"parentId\":" + row["parentid"].ToString() + ",\"name\": \"" + row["name"].ToString() + "\"},";
        }
        if (s != "")
        {
            s = s.Substring(0, s.Length -1);
        }
        return s;
    }

在前台取来的的数据处理easyUI tree结构使用的样式

 <script type="text/javascript">
       function convert(rows) {
           function exists(rows, parentId) {
               for (var i = 0; i < rows.length; i++) {
                   if (rows[i].id == parentId) return true;
               }
               return false;
           }

           var nodes = [];
           // get the top level nodes
           for (var i = 0; i < rows.length; i++) {
               var row = rows[i];
               if (!exists(rows, row.parentId)) {
                   nodes.push({
                       id: row.id,
                       text: row.name
                   });
               }
           }

           var toDo = [];
           for (var i = 0; i < nodes.length; i++) {
               toDo.push(nodes[i]);
           }
           while (toDo.length) {
               var node = toDo.shift(); // the parent node
               // get the children nodes
               for (var i = 0; i < rows.length; i++) {
                   var row = rows[i];
                   if (row.parentId == node.id) {
                       var child = { id: row.id, text: row.name };
                       if (node.children) {
                           node.children.push(child);
                       } else {
                           node.children = [child];
                       }
                       toDo.push(child);
                   }
               }
           }
           return nodes;
       }

       $(function () {
           $(‘#tt‘).tree({
              data: [<%=datalist %>],
               loadFilter: function (rows) {
                   return convert(rows);
               }
           });
           gettypetree();
           //$(‘#tree‘).combotree({
           // onSelect: function (node)
           // {

           // }
        //  });
       });
    </script>

    <div style="float: left; width: 40%">
        <ul id="tt">
        </ul>
    </div>

第二种是用递归方式 取出来的 转换json格式 tree 直接使用

链接网址:https://www.cnblogs.com/yonex/p/3379362.html

Java  这个网页也是用的递归方式  链接:https://www.cnblogs.com/20gg-com/p/6206502.html

时间: 2024-10-28 21:50:28

.NET easyUI tree树状结构的相关文章

获取子父节点,tree树状结构的方式--通过循环的方式

1.导包 <dependencies> //将domain quary写到了这层 <dependency> <groupId>cn.xxx.aigou</groupId> <artifactId>qqq_product_interface</artifactId> <version>1.0-SNAPSHOT</version> </dependency> <!--springboot相关的依赖

c# 递归、树状结构

1.树状结构 treeView.Nodes.Clear(); TreeNode tree = new TreeNode(); tree.Text = "字母"; treeView.Nodes.Add(tree); // tree.Nodes.Add("A"); TreeNode tree1 = new TreeNode(); tree1.Text = "汉字"; treeView.Nodes.Add(tree1); TreeNode a = ne

由简入繁实现Jquery树状结构

在项目中,我们经常会需要一些树状结构的样式来显示层级结构等,比如下图的样式,之前在学.net的时候可以直接拖个服务端控件过来直接使用非常方便.但是利用Jquery的一些插件,也是可以实现这些效果的,比如说Jquery.treeview.js插件. 下面就直入主题,开始从简入繁的分析怎么使用treeview插件,从已知的知识开始轻松入手,让树状结构唾手可得. 显示树状结构的几个实现步骤: 一.HTML做初始静态原型. 首先通过<ul></ul><li></li>

树 List Leaves 【用数组模拟了树状结构建树+搜索叶子节点+按照特殊规律输出每个叶子节点】

Given a tree, you are supposed to list all the leaves in the order of top down, and left to right. Input Specification: Each input file contains one test case. For each case, the first line gives a positive integer N (≤10) which is the total number o

oracle 树状结构递归 PL/SQL输出控制 包括空格输出控制

树状结构 存储过程中通过递归构建,类似BBS回帖显示,代码共三段: 建表,插入数据,创建存储过程显示: 1.create table article(id number primary key,cont varchar2(4000),pid number,idleaf number(1), --0为非叶子节点,1为叶子节点alevel number(2)); 2. insert into article values(1,'蚂蚁大战大象',0,0,0);insert into article v

权限模块_分配权限_显示树状结构_页面中的选中效果

权限模块__分配权限__显示树状结构1 显示树状结构:依赖关系 setPrivilegeUI.jsp <!-- 显示权限树 --> <td> <!--用它回显 <s:checkboxlist name="privilegeIds" list="#privilegeList" listKey="id" listValue="name"></s:checkboxlist> --

优雅的处理树状结构——组合模式总结

1.前言 本模式经 遍历“容器”的优雅方法——总结迭代器模式 引出,继续看最后的子菜单的案例 2.组合模式的概念 组合模式,也叫 Composite 模式……是构造型的设计模式之一. 组合模式允许对象组合成树形结构,来表现“整体/部分”的层次结构,使得客户端对单个对象和组合对象的使用具有一致性. Composite Pattern Compose objects into tree structures to represent part-whole hierarchies. Composite

树状结构组装

后台数据组装 /** * 查询权限列表 * @param categoryId * @return */ @Override public List<Map<String, Object>> getMenus(String categoryId) { List<Map<String, Object>>menuallist= userDao.selectMenuAllList(); List<String> meunSelectedList = n

HDU 3333 Turing Tree 树状数组 离线查询

题意: 给你一个数列,然后有n个查询,问你给定区间中不同数字的和是多少. 思路还是比较难想的,起码对于蒟蒻我来说. 将区间按照先右端点,后左端点从小到大排序之后,对于每个查询,我只要维护每个数字出现的最后一次就可以了(这个结论稍微想一下就可以证明是正确的). 然后就是简单的点更新,区间求和问题了- #include <cstdio> #include <cstring> #include <iostream> #include <map> #include