今天无聊中弄了个小东西,熟悉一下对listview和treeview的用法。代码如下:

 public partial class Form1 : Form
    {
        private School school;
        public Form1()
        {
            InitializeComponent();
            Office o1 = new Office("计算机基础","王军","杨晓勇","何平","姜涛");
            Office o2 = new Office("软件工程", "马建国", "陈军", "刘晓燕");
            Office o3 = new Office("信息安全", "冯尧", "李建军", "张涛");
            Department d1=new Department("计算机",o1,o2,o3);
            Office o4 = new Office("自动控制", "吴自力", "陈锋", "薛小龙");
            Office o5 = new Office("工业设计", "吴淑华", "方坤", "何丽", "蔡聪");
            Department d2=new Department("机电工程",o4,o5);
            Office o6 = new Office("信息管理", "赵民", "盛晓楠", "徐小平");
            Office o7 = new Office("工商管理", "张敏", "李玲", "吕倩", "高健");
            Department d3=new Department("经济管理",o6,o7);
            school = new School("科大", d1, d2, d3);             TreeNode root = treeView1.Nodes.Add(school.ToString());
            foreach(Department d in school.departments )
            {
                TreeNode node = root.Nodes.Add(d.ToString());
                foreach (Office o in d.offices)
                {
                    node.Nodes.Add(o.ToString());
                }
            }
            listView1.Columns.Add("姓名");
            listView1.Columns.Add("电话");
            listView1.Columns.Add("电子邮件");         }         private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            listView1.Items.Clear();
            if (e.Node.Level == 0)
            {
                foreach (Department d in school.departments)
                {
                    listView1.Items.Add(d.ToString(),0);
                }
            }
            else if (e.Node.Level == 1)
            {
                foreach (Office o in school.departments[e.Node.Index].offices)
                {
                    listView1.Items.Add(o.ToString(), 1);
                }
            }
            else if (e.Node.Level == 2)
            {
                foreach (string s in school.departments[e.Node.Parent.Index].offices[e.Node.Index].teachers)
                {
                    listView1.Items.Add(s.ToString(), 2);
                }
            }
        }
    }     public class School
    {
        public School(string name, params Department[] departments)
        {
            this.Name = name;
            this.departments = new List<Department>(departments);
        }
        public string Name { get; set; }
        public List<Department> departments { get; set; }
        public override string ToString()
        {
            return Name;
        }
    }     public class Department
    {
        public string Name { get; set; }
        public List<Office> offices { get; set; }
        public Department(string name, params Office[] offices)
        {
            this.Name = name;
            this.offices = new List<Office>(offices);
        }
        public override string ToString()
        {
            return Name + "系";
        }
    }     public class Office
    {
        public string Name { get; set; }
        public List<string> teachers { get; set; }
        public Office(string name, params string[] teachers)
        {
            this.Name = name;
            this.teachers = new List<string>(teachers);
        }
        public override string ToString()
        {
            return Name + "教研室";
        }
    }
运行后截图:

												

treeview和listview的用法的更多相关文章

  1. WPF中获取TreeView以及ListView获取其本身滚动条的方法,可实现自行调节scoll滚动的位置(可相应获取任何控件中的内部滚动条)

    原文:WPF中获取TreeView以及ListView获取其本身滚动条的方法,可实现自行调节scoll滚动的位置(可相应获取任何控件中的内部滚动条) 对于TreeView而言: TreeViewAut ...

  2. TreeView和ListView数据库查询数据联动操作

    好久不用了,重新整理下放这里以备需要使用,功能见图 数据库表结构 定义TreeView addObject中data存储的记录集 type PNode = ^TNode; TNode = record ...

  3. C# Winform TreeView 的一些基本用法

    下面是treeview的用法TreeView组件是由多个类来定义的,TreeView组件是由命名空间"System.Windows .Forms"中的"TreeView& ...

  4. python tkinter用Treeview实现ListView效果

    先上图 再上代码: import ttk from Tkinter import * root = Tk() tree = ttk.Treeview(root, columns=('col1','co ...

  5. WPF之Treeview控件简单用法

    TreeView:表示显示在树结构中分层数据具有项目可展开和折叠的控件 TreeView 的内容是可以包含丰富内容的 TreeViewItem 控件,如 Button 和 Image 控件.TreeV ...

  6. 教你做一个单机版人事管理系统(Winform版)treeview与listview使用详情

    ------------------------------------------------------------------部门部分------------------------------ ...

  7. xamarin android listview的用法

    listview也许是用的非常频繁的一个控件之一,下面我写一个xamarin的listview栗子,大家尝一尝xamarin android开发的乐趣.原谅我的大小写吧. listview绑定自定义的 ...

  8. Android学习总结(十三) ———— ListView 简单用法

    一.ListView的基本概念 在Android所有常用的原生控件当中,用法最复杂的应该就是ListView了,它专门用于处理那种内容元素很多,手机屏幕无法展示出所有内容的情况.ListView可以使 ...

  9. Android中ListView的用法

    使用方法1 显示简单的文本 在layout文件中像加入普通控件一样在layout文件中引入ListView <ListView android:id="@+id/list_view&q ...

随机推荐

  1. c++指针存储应用程序和释放内存的问题

    C++中指针在new和delete操作的时候对内存堆都做了些什么呢.下面解: 1.指针的new操作: 指针在new之后,会在内存堆中分配一个空间.而指针中存放的是这个空间的地址.如: void mai ...

  2. VAXVOIP SDK Licensekey

    Insert the following key to the SDK with SetLicenseKey call: VAXVOIP.COM-191P238P55P253P97P229P51P76 ...

  3. 【源代码】StringBuilder和StringBuffer震源深度分析

    //------------------------------------------------------------------------ 写篇博客不easy.请尊重作者劳动成果. 转载请注 ...

  4. java 集装箱 arraylist 用法

    1. ArrayList概述: ArrayList 是一个数组队列.相当于 动态数组. 与Java中的数组相比.它的容量能动态增长.它继承于AbstractList.实现了List, RandomAc ...

  5. 怎样将IPhone应用程序软件公布到应用程序商店?

    转自:http://www.shtion.com/667.html 怎样将IPhone应用程序软件公布到应用程序商店? 2009年10月19日公布 分类: App store, iphone, 手机应 ...

  6. java 中关于json的使用方法

    json在数据传输起了很大的作用,下面说说java中json的使用方法. 文章参考:http://www.codes51.com/article/detail_99574.html json串示例 [ ...

  7. TRS_WCM(拓尔思信息技术有限公司)内容协作平台平台置标经验攻略

    TRS_WCM置标过程中经验积累 版本V4.0-2014.6.24-穿越者7号 目录 1.嵌套模板置标 1 2.栏目名称超链接置标 1 3.列表循环输出文档标题包含超链接 1 4.取既定栏目下第一篇文 ...

  8. POJ 1284 Primitive Roots 原根

    题目来源:POJ 1284 Primitive Roots 题意:求奇素数的原根数 思路:一个数n是奇素数才有原根 原根数是n-1的欧拉函数 #include <cstdio> const ...

  9. Gulp前端构建工具

    Gulp, 比Grunt更好用的前端构建工具 Gulp, 比Grunt更好用的前端构建工具 本文主要从两个方面介绍Gulp:一,Gulp相对于Grunt的优势: 二,Gulp的安装和使用流程 Gulp ...

  10. [Nhibernate]二级缓存

    [Nhibernate]二级缓存 目录 写在前面 文档与系列文章 二级缓存 Nhibernate二级缓存提供程序 一个例子 总结 写在前面 上篇文章介绍了nhibernate中一级缓存的相关内容,一级 ...