Treeview 排序

1. 继承 IComparer

2.  treeView1.TreeViewNodeSorter = this;

3. 实现IComparer

public int Compare(object x, object y)
        {
            TreeNode n1 = x as TreeNode;
            TreeNode n2 = y as TreeNode;
            if (n1 == null || n2 == null)
            {
                return 0;
            }

            IUser user1 = n1.Tag as IUser;
            IUser user2 = n2.Tag as IUser;
            if (user1 == null && user2 == null)
            {
                return n1.ToolTipText.CompareTo(n2.ToolTipText);
                //return n1.Text.CompareTo(n2.Text);
            }
            if (user1 != null && user2 != null)
            {
                return user1.Name.CompareTo(user2.Name);
            }

            return user1 == null ? 1 : -1;
        }

时间: 2024-10-27 11:09:51

Treeview 排序的相关文章

数据筛选和排序

一.TreeView:树状控件  属性:   1.Nodes:设置节点      每个节点设置:       Text:节点文本       imageIndex:节点图片       SelectimageIndex:节点选中时的图片   2.imageList:   3.Level:节点深度,从0开始,根节点是0   4.SelectedNode:选中的节点   事件:      AfterSelect:节点选中之后执行二.视图对象:DataView   1.创建:     DataView

Super Object Toolkit (支持排序)

(* * Super Object Toolkit * * Usage allowed under the restrictions of the Lesser GNU General Public License * or alternatively the restrictions of the Mozilla Public License 1.1 * * Software distributed under the License is distributed on an "AS IS&q

PB控制性能TreeView

TreeView [其它] ■TreeView控件能够以树型方式来组织项目.不仅显示直观.界面友好.并且项目的管理和操作更为方便,是当前比較流行的一个控件. 该控件的特点是在较小的空间能够分层次显示大量的数据,而且能够依照用户的要求检索数据. 该控件具有下面功能: 通过能够展开或者折叠的节点遍历数据. 图形化和文本化的节点显示. 拖放操作. 包含剪切.复制和粘贴的节点操作. ■典型编程 通常TreeView控件用来让用户选择数据,或者进行数据的管理.比方.在一个人事管理软件中.使用部门.姓和名这

如何:使用TreeView控件实现树结构显示及快速查询

本文主要讲述如何通过使用TreeView控件来实现树结构的显示,以及树节点的快速查找功能.并针对通用树结构的数据结构存储进行一定的分析和设计.通过文本能够了解如何存储层次结构的数据库设计,如何快速使用TreeView控件生产树,以及如何快速查找树节点. 关键词:C# TreeView.树结构存储.树节点查找.层次结构 一.      概述: 树结构(层次结构)在项目的使用中特别常见,在不同项目中使用的控件可能不同(如:在Extjs中使用的是TreePanel控件,WinForm中可能用的是Tre

treeview自动从表中添加标题和列值做目录的方法2

treeview自动从表中添加标题和列值做目录的方法2,该方法是借鉴万一老师的 http://www.cnblogs.com/del/archive/2008/05/15/1114450.html 首先界面上添加treeview组件,然后在treeview的onchange事件里这样写: 因为要用到定义个过程,需要在接口声明里引用 private { Private declarations } /// <summary> /// 刷新左侧treeView /// </summary&g

PB控件属性之TreeView

TreeView [其他] ■TreeView控件可以以树型方式来组织项目,不仅显示直观.界面友好,而且项目的管理和操作更为方便,是当前比较流行的一个控件. 该控件的特点是在较小的空间可以分层次显示大量的数据,并且可以按照用户的要求检索数据.该控件具有以下功能: 通过可以展开或者折叠的节点遍历数据. 图形化和文本化的节点显示. 拖放操作. 包括剪切.复制和粘贴的节点操作. ■典型编程 通常TreeView控件用来让用户选择数据,或者进行数据的管理.比如,在一个人事管理软件中,使用部门.姓和名这样

TreeView控制消息

控制消息的作用 通过发送消息到Treeview控件, 就能够控机Treeview控件.常用的控制有: 获取被点击的节点 获取节点的文本 设置节点的文本 获取节点的父节点 获取节点的子节点 TVM_GETINDENT: wParam : 0; lParam : 0; 功能: 等同于宏TreeView_GetIndent TVM_SETINDENT: wParam : indent; lParam : 0; 功能 : 设置缩进,等同于宏TreeView_SetIndent TVM_GETBKCOLO

superobject 设定排序方式

(* * Super Object Toolkit * * Usage allowed under the restrictions of the Lesser GNU General Public License * or alternatively the restrictions of the Mozilla Public License 1.1 * * Software distributed under the License is distributed on an "AS IS&q

TreeView详细用法

Treeview用于显示按照树形结构进行组织的数据.          Treeview控件中一个树形图由节点(TreeNode)和连接线组成.TtreeNode是TTreeview的基本组成单元.      一个树的节点又包含文本(Text)和数据(Data).Text为String类,Data则为无定形指针(Untyped   Pointer),      可以指向一个与节点相联系的数据结构.          每一个节点下子节点形成这一节点的Items属性,当前节点有一个唯一的Index(