epoint:TreeView

Epoint.Web.UI.WebControls2X.EpointTreeNode

思路:就是使用递归

RootNodeText 根节点名称
RootNodeUrl 根节点路径
ShowRootNode 是否显示根节点

OnTreeNodePopulate 动态添加子节点事件 如果节点的表明node.PopulateOnDemand =

true;那么这是一个动态添加的节点

一层节点

<epoint:TreeView ID="TreeView1" Target="main1" SearchAtClient="false" runat="server" ShowRootNode="true" RootNodeText="所有商品" RootNodeUrl="Record_List.aspx">
    </epoint:TreeView>

      protected void Page_Load(object sender, EventArgs e)
        {

            this.CurrentLeftPosition = "选择商品";
            this.CurrentRightPosition = "商品列表";
            this.CurrentPosition = "商品管理";
            if (!Page.IsPostBack)
                BindTree();
        }
        protected void BindTree()
        {

            DataView dvCommunityInfo = new DB_Commodity().Select();
            Epoint.Web.UI.WebControls2X.EpointTreeNode node;
            for (int i = 0; i < dvCommunityInfo.Count; i++)
            {
                node = new EpointTreeNode();
                node.Text = dvCommunityInfo[i]["Name"].ToString();
                node.Value = dvCommunityInfo[i]["RowGuid"].ToString();
                node.NavigateUrl = "Record_List.aspx?CommidityGuid=" + node.Value;
                TreeView1.Nodes.Add(node);
            }
        }    

两层节点

public partial class XMTree : BaseContentPage_UsingMasterWithTree
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                this.CurrentLeftPosition = "项目信息";
                this.CurrentRightPosition = "项目信息";
                this.CurrentPosition = "项目信息";
                BindXMTreeData();
            }
        }
        public void BindXMTreeData()
        {
            TreeView1.RootNodeText = "各类型项目";  //获取根节点文本
            AddTopNodes();
        }

        private void AddTopNodes()
        {
            EpointTreeNode node;
            string sqlGCValue = string.Format(@"select ItemValue,ItemText from VIEW_CodeMain_CodeItems where CodeName=‘{0}‘", "项目库工程类型");
            DataView dv = Epoint.MisBizLogic2.DB.ExecuteDataView(sqlGCValue);
            DataView dvTemp;
            for (int i = 0; i < dv.Count; i++)
            {
                node = new EpointTreeNode();
                node.Text = Convert.ToString(dv[i]["ItemText"]);
                node.Value = Convert.ToString(dv[i]["ItemValue"]);
                string sqlXMtype = string.Format(@"select ItemValue,ItemText from VIEW_CodeMain_CodeItems where CodeName=‘{0}‘ and ItemValue like ‘" + Convert.ToString(dv[i]["ItemValue"]) + "%‘", "项目库项目类型");
                dvTemp = Epoint.MisBizLogic2.DB.ExecuteDataView(sqlXMtype);
                TreeView1.Nodes.Add(node);
                if (dvTemp.Count > 0)
                    expandChildNodes(node, dvTemp);     //实时加载子节点
            }

        }

        /// <summary>
        /// 递归绑定子节点
        /// </summary>
        /// <param name="parentNode"></param>
        /// <param name="dv"></param>
        private void expandChildNodes(EpointTreeNode parentNode, DataView dv)
        {
            EpointTreeNode node;
            string fullItemText = "";
            string[] TextArr;
            for (int i = 0; i < dv.Count; i++)
            {
                node = new EpointTreeNode();
                fullItemText = Convert.ToString(dv[i]["ItemText"]);
                if (fullItemText.Contains("—"))
                {
                    TextArr = fullItemText.Split(‘—‘);
                    node.Text = TextArr[1];
                }
                else
                {
                    node.Text = Convert.ToString(dv[i]["ItemText"]);
                }
                node.Value = Convert.ToString(dv[i]["ItemValue"]);
                node.NavigateUrl = "NodeWeightConfigTree.aspx?projecttype=" + node.Value + "&firstnodename=" + node.Text;
                parentNode.ChildNodes.Add(node); //添加子节点
            }
        }
    }

时间: 2024-08-08 01:06:30

epoint:TreeView的相关文章

Win32中TreeView控件的使用方法,类似于资源管理器中文件树形显示方式

首先是头文件,内容如下: #include <tchar.h> #include "..\CommonFiles\CmnHdr.h" #include <Windows.h> #include <WindowsX.h> #include <CommCtrl.h> #include "resource.h" #pragma comment (lib,"comctl32.lib") BOOL InitT

WPF treeview扩展

记录一下工作中遇到的问题,以便以后忘记了可以来看. 在工作中遇到一个问题,就是要实现类型如下的界面,没有使用Telerik和Dev库.本来最开始是想使用Datagrid,但不知道怎么实现treeview,后来遍使用treeview. 前端xaml代码: <TreeView x:Name="mytreeview"> <TreeView.ItemTemplate> <HierarchicalDataTemplate ItemsSource="{Bin

TreeView.ImageSet 属性

TreeView.ImageSet 属性 .NET Framework 2.0 注意:此属性在 .NET Framework 2.0 版中是新增的. 获取或设置用于 TreeView 控件的图像组. 命名空间:System.Web.UI.WebControls程序集:System.Web(在 system.web.dll 中) 语法 C# C++ VB public TreeViewImageSet ImageSet { get; set; } J# /** @property */ publi

ASP.NET - TreeView

设置节点图片 : Windows资源管理器左侧的树型资源结构图中,各节点都有图片连接,例如磁盘的图片.光盘的图片和文件夹的图片等,使资源的表现更加形象.IEWebControls的TreeView控件也可以为节点链接图片,这时需要利用以下3个属性关联到节点的标准状态(未展开.未选中).展开状态和选中状态. ImageUrl属性:TreeNode处于标准状态时显示的图片的地址. ExpandImageUrl属性:TreeNode处于展开状态时显示的图片的地址. SelecteImageUrl属性:

转:[Silverlight入门系列]使用MVVM模式(9): 想在ViewModel中控制TreeView节点展开?

很多童鞋看了我的博客以后也去实践MVVM,但却发现Silverlight实践中的MVVM很难实现,比纯粹的CodeBehind难度大很多.首先是原来在xaml.cs的CodeBehind部分很容易控制界面逻辑,现在这部分逻辑移到ViewModel里面去了以后,就很难调用CodeBind的部分;其次是很多View和ViewModel.或者一个ViewModel多个View,他们之间如何通 很多童鞋看了我的博客以后也去实践MVVM,但却发现Silverlight实践中的MVVM很难实现,比纯粹的Co

WinForms中TreeView控件的扩展与使用

EXE文件方便大家测试   源码下载 TreeView控件非常的好用,在我的公文系统中,使用TreeView控件选择接收公文的人员,支持单选,可多选 现提取出来,方便大家使用 涉及到的知识点 1:从Xml文件中加载内容显示到TreeView控件中 <?xml version="1.0" encoding="utf-8"?> <根目录> <组 名称="校长" 用户ID="1000"> <

[WPF实用技巧]如何使WPF的TreeView节点之间有连线

示例代码:TreeViewEx.zip 原文地址:http://www.codeproject.com/Tips/673071/WPF-TreeView-with-WinForms-Style-Fomat   Introduction WPF default TreeView is very good, but many people still want it to have lines join each of its child elements, like Windows Forms T

循环递归+返回值(TreeView示例)

示例:获取TreeView的所有Node,保存到List<TreeNode>,封装到通用工具类: 方法一:使用static方法.属性---调用前清空static类型的List 1 public static List<TreeNode> allNodes = null; 2 public static void GetTreeViewAllNodes(TreeNodeCollection Nodes) 3 { 4 foreach (TreeNode node in Nodes) 5

wpf企业应用之带选项框的TreeView

wpf里面实现层次绑定主要使用HierarchicalDataTemplate,这里主要谈一谈带checkbox的treeview,具体效果见 wpf企业级开发中的几种常见业务场景. 先来看一下我的控件绑定,我这里实现的是模块权限的编辑.具体效果就是选中一个节点,后代节点.祖代节点状态都会发生相应变化,具体变化逻辑大家都懂的,描述起来很罗嗦. <TreeView Name="TreeView_Right" ItemsSource="{Binding ModuleRigh