treeview和listview的用法
今天无聊中弄了个小东西,熟悉一下对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的用法的更多相关文章
- WPF中获取TreeView以及ListView获取其本身滚动条的方法,可实现自行调节scoll滚动的位置(可相应获取任何控件中的内部滚动条)
原文:WPF中获取TreeView以及ListView获取其本身滚动条的方法,可实现自行调节scoll滚动的位置(可相应获取任何控件中的内部滚动条) 对于TreeView而言: TreeViewAut ...
- TreeView和ListView数据库查询数据联动操作
好久不用了,重新整理下放这里以备需要使用,功能见图 数据库表结构 定义TreeView addObject中data存储的记录集 type PNode = ^TNode; TNode = record ...
- C# Winform TreeView 的一些基本用法
下面是treeview的用法TreeView组件是由多个类来定义的,TreeView组件是由命名空间"System.Windows .Forms"中的"TreeView& ...
- python tkinter用Treeview实现ListView效果
先上图 再上代码: import ttk from Tkinter import * root = Tk() tree = ttk.Treeview(root, columns=('col1','co ...
- WPF之Treeview控件简单用法
TreeView:表示显示在树结构中分层数据具有项目可展开和折叠的控件 TreeView 的内容是可以包含丰富内容的 TreeViewItem 控件,如 Button 和 Image 控件.TreeV ...
- 教你做一个单机版人事管理系统(Winform版)treeview与listview使用详情
------------------------------------------------------------------部门部分------------------------------ ...
- xamarin android listview的用法
listview也许是用的非常频繁的一个控件之一,下面我写一个xamarin的listview栗子,大家尝一尝xamarin android开发的乐趣.原谅我的大小写吧. listview绑定自定义的 ...
- Android学习总结(十三) ———— ListView 简单用法
一.ListView的基本概念 在Android所有常用的原生控件当中,用法最复杂的应该就是ListView了,它专门用于处理那种内容元素很多,手机屏幕无法展示出所有内容的情况.ListView可以使 ...
- Android中ListView的用法
使用方法1 显示简单的文本 在layout文件中像加入普通控件一样在layout文件中引入ListView <ListView android:id="@+id/list_view&q ...
随机推荐
- Java 反射 想
所谓反射.是指在执行时状态中,获取类中的属性和方法.以及调用当中的方法的一种机制. 这样的机制的作用在于获取执行时才知道的类(Class)及当中的属性(Field).方法(Method)以及调用当中的 ...
- 解决RecyclerView无法onItemClick问题
供RecyclerView采用.会员可以查看将替代ListView的RecyclerView 的使用(一),单单从代码结构来说RecyclerView确实比ListView优化了非常多.也简化了我们编 ...
- CSS设置滚动条样式[转]
原文转载地址:http://www.javascript100.com/?p=756 webkit浏览器css设置滚动条 主要有下面7个属性 ::-webkit-scrollbar 滚动条整体部分,可 ...
- Android 布局学习之——Layout(布局)具体解释二(常见布局和布局參数)
[Android布局学习系列] 1.Android 布局学习之--Layout(布局)具体解释一 2.Android 布局学习之--Layout(布局)具体解释二(常见布局和布局參数) ...
- C语言学习_查找三分之二
查找三分之二: #include <stdio.h> #define M 10 int main(void) { int front, near, mid1, mid2; int n; i ...
- opencv2对于读书笔记——二值化——thresholded功能
opencv二进制图象值功能threshold功能 其结构 double cv::threshold( //二值化函数 const CvArr* src, //原始图像 CvArr* dst, //输 ...
- ASP.NET 5 (vNext)
ASP.NET 5 (vNext) 理解和入门 概述 ASP.NET 5 (又称为vNext) 是自ASP.NET产生15年以来一次革命性的更新, 我们可以从以下几点来理解其概貌和意义: ASP. ...
- 速度 Github
首先需要了解.git 是版本号的管理工具,为了能够把任意代码托管执照:github 其中一个是. 应用 github 什么不该说的帐户. 那么,申请后,在需求 github 并建立了独特的本地机器上的 ...
- Responsive Design in 3 Steps
Responsive web design is no doubt a big thing now. If you still not familiar with responsive design, ...
- 九度oj题目&吉大考研11年机试题全解
九度oj题目(吉大考研11年机试题全解) 吉大考研机试2011年题目: 题目一(jobdu1105:字符串的反码). http://ac.jobdu.com/problem.php?pid=11 ...