第三章:使用ListView展示数据


一.ImageList:存储图像集合

Images    存储的所有图像
ImageSize    图像的大小
ColorDepth    颜色数
TransparentColor    被视为透明的颜色
先设置ColorDepth、ImageSize属性值再添加图片,反之不能更改这两个属性值

二.ListView:存储项集合

Items ListView中的项
View 指定那种视图显示
LargeImageList 大图标图像的ImageList控件
SmallImageList 小图标图像的ImageList控件


三.ContextMenuStrip

Items 快捷菜单项的集合
DisplayStyle 每一项显示的状态(文字,图像)

在控件上选择ContextMenuStrip属性绑定快捷菜单

四.动态绑定ListView中的数据

 1 #region 动态绑定ListView中的数据
 2 
 3              //定位到父项
 4             ListViewItem itemc = new ListViewItem("C盘:",0);
 5             //第一种:通过父项.SubItems.Add()添加单个子项
 6             itemc.SubItems.Add("本地磁盘");
 7             itemc.SubItems.Add("250GB");
 8             itemc.SubItems.Add("1KB");
 9 
10             ListViewItem itemd = new ListViewItem("D盘:",1);
11             //方式二:通过父项.SubItems.AddRange()添加多个子项
12             itemd.SubItems.AddRange(new string[]{"本地磁盘","1TB","250GB"});
13 
14 
15             //最后一步:将父项以及父项的子项集合添加到ListView当中
16             this.lvwindows.Items.Add(itemc);
17             this.lvwindows.Items.Add(itemd);
18 
19             //通过下标定位到父项然后添加子项列表数据
20             ListViewItem iteme = this.lvwindows.Items[2];
21             iteme.SubItems.AddRange(new string[] { "本地磁盘", "1TB", "250GB" });
22 
23           #endregion

五.动态从数据库获取数据绑定

 1 string constr = "Data Source=.;Initial Catalog=SchoolDB;User ID=sa;Password=.";
 2             SqlConnection con = new SqlConnection(constr);
 3             try
 4             {
 5                 con.Open();
 6                 string sql = @"select Grade.*,Student.* from Grade,Student where Grade.GradeId=Student.GradeId 
 7                                and Student.StudentName like '%"+this.txtName.Text+"%' ";
 8                
 9                 SqlCommand com = new SqlCommand(sql,con);
10                 SqlDataReader reader=com.ExecuteReader();
11                 //判断读取出来的数据为不为空
12                 if (reader.HasRows) {
13                     while(reader.Read()){
14                         ListViewItem item = new ListViewItem(reader["StudentNo"].ToString());
15                         item.SubItems.AddRange(new string[] { reader["StudentName"].ToString(), reader["Sex"].ToString(), reader["GradeName"].ToString() });
16                         item.Tag = (int)reader["StudentNo"];
17                         this.lvStudentList.Items.Add(item);
18                     }
19                 }
20 
21             }
22             catch (Exception x)
23             {
24                 MessageBox.Show(x.ToString());
25             }
26             finally {
27                 con.Close();
28             }
29 
30             获取选中项的Tag值:this.lvStudentList.SelectedItems[0].Tag.ToString()
原文地址:https://www.cnblogs.com/wishsaber/p/9431023.html