ListView在WinForm中多用于表的构建,可以直不雅观的显示表的信息,其格局如同SQL的表
这是他的位置,在大众控件中:
Listview的几个重要属性:Columms(调集)、Groups(调集)、Items(调集)、View(视图)、以及Items中的SubItems(调集)
此中View共有5种样式,常用选项为Details(详细资料)
下图划分了ListView中Details样式下,各行各列的调集名。
Columns调集:需要在此中编纂列名,第一行(列名)
Items调集,第一列的第二行开始,这一列是单独的一个调集
SubItems调集:从第二列第二行开始,每一行为一个调集。
注:SubItems在Items调集编纂器的属性一栏中
了解了ListView的结构再来看看如何使用代码往里添加数据。
1.创建一个WinForm,在表中画出ListView,并改削ListView的属性:
View改削为Details。
在属性--行为--Columns调集中添加成员,并把Text分袂改削为学号,姓名,性别,生日,班级
如图:
新建一个类:xuesheng
public class xuesheng { //界说变量并且封装。 private string _Sno; public string Sno { get { return _Sno; } set { _Sno = value; } } private string _Sname; public string Sname { get { return _Sname; } set { _Sname = value; } } private string _Ssex; public string Ssex { get { return _Ssex; } set { _Ssex = value; } } private string _Sbirthday; public string Sbirthday { get { return _Sbirthday; } set { _Sbirthday = value; } } private string _Class; public string Class { get { return _Class; } set { _Class = value; } } public DataTable goujianbiao()//在C#中创建一个姑且的数据表 { DataTable dt = new DataTable();//初始化数据表,需要引用using System.Data; //添加表的 列 DataColumn sno = new DataColumn("sno");// 表的列 ("列名") dt.Columns.Add(sno); DataColumn sname =new DataColumn("sname"); dt.Columns.Add(sname); DataColumn ssex=new DataColumn("ssex"); dt.Columns.Add(ssex); DataColumn sbirthday=new DataColumn("sbirthday"); dt.Columns.Add(sbirthday); DataColumn sclass=new DataColumn("sclass"); dt.Columns.Add(sclass); //创建 表的 行 DataRow row1=dt.NewRow(); //在行中填入数据 row1["sno"]="101"; row1["sname"]="张三"; row1["ssex"]="男"; row1["sbirthday"]="1987-05-15"; row1["sclass"]="2012班"; dt.Rows.Add(row1);//将行Row1填入到表dt的行的调集中 return dt;//返回 数据表 东西 }
在From_Load的函数中输入以下代码:
private void Form3_Load(object sender, EventArgs e) { xuesheng xx = new xuesheng();//如果不再同一个定名空间中不要忘记引用定名空间 DataTable dt = xx.goujianbiao();//挪用要领来构建出datatable表数据 for (int i = 0; i < dt.Rows.Count; i++)//dt.Rows.Count 获取数据表dt中行的个数 { DataRow dr = dt.Rows[i];//构建的数据表中一行的数据 ,行的调集,,这里只有一行数据, //按照列名找到这一行的元素并添加到Items调集中,第一列第二行,这里这个Items调集只有一个元素 listView1.Items.Add(dr["sno"].ToString()); //按照列名将SubItems调集的元素分袂添加进去,第二列第二行开始,调集中的元素按行摆列 listView1.Items[i].SubItems.Add(dr["sname"].ToString()); listView1.Items[i].SubItems.Add(dr["ssex"].ToString()); listView1.Items[i].SubItems.Add(dr["sbirthday"].ToString()); listView1.Items[i].SubItems.Add(dr["sclass"].ToString()); } }
最后运行功效: