20150226—C# winform中的ListView解析

ListView在WinForm中多用于表的构建,可以直观的显示表的信息,其格式如同SQL的表

这是他的位置,在公共控件中:

image

Listview的几个重要属性:Columms(集合)、Groups(集合)、Items(集合)、View(视图)、以及Items中的SubItems(集合)

其中View共有5种样式,常用选项为Details(详细资料)

imageimage

下图划分了ListView中Details样式下,各行各列的集合名。

image

Columns集合:需要在其中编辑列名,第一行(列名)

image

Items集合,第一列的第二行开始,这一列是单独的一个集合

image

SubItems集合:从第二列第二行开始,每一行为一个集合。

注:SubItems在Items集合编辑器的属性一栏中

image

 

 

了解了ListView的构造再来看看如何使用代码往里添加数据。

1.创建一个WinForm,在表中画出ListView,并修改ListView的属性:

View修改为Details。

在属性--行为--Columns集合中添加成员,并把Text分别修改为学号,姓名,性别,生日,班级

如图:

image

新建一个类: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());

            }

        }

最后运行结果:

image

你可能感兴趣的:(ListView)