首页 > 编程语言 >c# , net 创建树形结构,创建树形节点

c# , net 创建树形结构,创建树形节点

时间:2024-07-02 16:24:44浏览次数:16  
标签:sMMembers SqlHelper c# 创建 树形 products ToString 节点

 

/// <summary>
/// 生成树形结构
/// </summary>
public void GetTreeNode()
{
    //SqlHelper.GetSqlDataReader是封装的查询数据库语句,可根据自己需求封装
    //假设获取所有一级节点
    List<Products> products = SqlHelper.GetSqlDataReader(sql);
    for (int i = 0; i < products.Count; i++)
    {
        TreeNode tree = new TreeNode()
        {
            Name = products[i].ProductId.ToString(),
            Text = products[i].ProductName
        };
        //假设根据一级节点CategoryId获取二级节点
        List<SalesPerson> salesPerson = SqlHelper.GetSqlDataReader(products[i].CategoryId.ToString());
        for (int j = 0; j < salesPerson.Count; j++)
        {
            tree.Nodes.Add(new TreeNode()
            {
                Name= salesPerson[j].SalesPersonId.ToString(),
                Text = salesPerson[j].SPName,
                ForeColor=Color.Blue
            });
            //获取一级节点ProductId获取三级节点
            List<SMMembers> sMMembers = SqlHelper.GetSqlDataReader(products[i].ProductId.ToString());
            for(int k = 0; k < sMMembers.Count; k++)
            {
                tree.Nodes[j].Nodes.Add(new TreeNode()
                {
                    Name = sMMembers[k].MemberId.ToString(),
                    Text= sMMembers[k].MemberName,
                    Tag = sMMembers[k].MemberStatus,
                    ForeColor=Color.Red //设置颜色
                });
            };
        }

        this.tvTreeNode.Nodes.Add(tree); //将节点数据添加到treeView控件中
    }
    this.tvTreeNode.ExpandAll(); //展开所有节点

}

 

标签:sMMembers,SqlHelper,c#,创建,树形,products,ToString,节点
From: https://www.cnblogs.com/tlfe/p/18280056

相关文章

  • C++那些事 研读...
    constthings1.const常量与#define宏定义常量区别const常量编译时期可以进行安全检查,#define宏定义并没有具体的数据类型,只是字符替换罢了,不能安全检查2.const与指针constchar*a;//指向constchar的指针charconst*a;//指向constchar的指针char*consta;//const......
  • A LLM-based Controllable, Scalable, Human-Involved User Simulator Framework for
    目录概CSHI(Controllable,Scalable,andHuman-Involved)代码ZhuL.,HuangX.andSangJ.Allm-basedcontrollable,scalable,human-involvedusersimulatorframeworkforconversationalrecommendersystems.2024.概作者利用LLM进行用户模拟,虽然是复杂了一点......
  • SI3262_国产低功耗MCU+NFC+15触键三合一柜锁方案SoC芯片
    SI3262简介Si3262是高度集成ACD低功耗MCU+NFC+15通道防水触摸按键的SoC芯片。其MCU模块具有低功耗、LowPinCount、宽电压工作范围,集成了13/14/15/16位精度的ADC、LVD、UART、SPI、I2C、TIMER、WUP、IWDG、RTC、TSC等丰富的外设。内核采用RISC-VRV32IMAC(2.6CoreMark/MHz)。特......
  • CH592 CH582 CH573添加广播回调函数
    /**********************************************************************@fnBLE_AdvertiseEventCB**@briefCallbackfromadvertiseover**@paramNone**@returnnone*/voidBLE_AdvertiseEventCB(uint32_ttimeUs){GPIOA_ResetB......
  • StarRocks 入门指南:创建和管理数据库及表
    本文介绍如何在StarRocks中创建数据库和表,插入数据,执行常用的系统管理命令,以及一些常用配置的修改方法,快速了解上手StarRocks。设置环境变量首先,我们需要设置JAVA_HOME环境变量,以便StarRocks能够找到Java运行时环境。exportJAVA_HOME="/data3/starrocks/jdk-17.0.11"......
  • nacos漏洞利用
    nacos概述Nacos致力于帮助您发现、配置和管理微服务。Nacos提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。简单来说nacos就是阿里开发的一个中间件,它主要提供三种功能:持久化节点注册,非持久化节点注册和配置管理。他里面包含大量的......
  • JavaScript 中删除数组元素
    在JavaScript中,没有像Java的ArrayList中的remove方法那样直接删除指定元素的方法,删除指定下标的数组元素可以通过几种方式实现方法一:使用 splice() 方法splice()方法可以在数组中添加或删除元素,并返回被删除的元素。letarr=[1,2,3,4,5];letindexToRemove......
  • CentOS7安装使用LibreOffice
    背景:公司产品有文档转pdf的需求,但是centos7下面默认的是python2.7,在网上找了很多教程,都不太理想,于是自己琢磨了一下,发现LibreOffice自带的python环境刚刚好,但是没有LibreOffice的侦听器模式unoserver,而且这个python环境没有自带pip工具,于是便有了这篇随笔笔记:我是在centos的d......
  • 深入了解 Webpack 的 require.context
    在现代前端开发中,模块化开发是不可或缺的一部分。Webpack作为一个强大的打包工具,提供了很多高级特性来简化和优化我们的开发流程。其中一个非常有用的功能是require.context。本文将介绍require.context的使用方法及其在实际项目中的应用。什么是require.contextrequire.co......
  • abc360 E 题解
     E对于位置2~n,它们的概率是相等的。n*n个(x,y)对。其中x可以等于y。 对于x/y,y的逆元rev(y)为mul(y,mod-2)。加、减、乘、除都可以做。比如48/9和16/3的结果是一样的,48*rev(9)%mod=16*rev(3)%mod。比如3*rev(2)%mod=(rev(2)+rev(2)+rev(2))%mod. 对于每次操作,有多少......