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"]="";
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 = ; 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());
}
}

最后运行结果:

20150226—C# winform中的ListView解析的更多相关文章

  1. C#winform中ListView的使用

    使用ListView模仿Windows系统的资源管理器界面,实现文件(夹)的浏览.重命名.删除及查询等功能,主要功能界面展示如下: 1.MainForm.cs及MainForm.Designer.cs ...

  2. winform中如何在多线程中更新UI控件--ListView实时显示执行信息

    1.在winform中,所有对UI的操作,都得回到UI线程(主线程)上来,才不会报错 线程间操作无效: 从不是创建控件的线程访问它. 2.在winform中,允许通过Control.invoke对控件 ...

  3. 在WinForm中使用委托来在其他线程中改变控件的显示

    假设winform中有两个控件: 1.ListView用来显示进度的文本提示,ID:listView_progressInfo 2.ProgressBar用来显示进度,ID:progressBar1 ...

  4. WinForm中 Asp.Net Signalr消息推送测试实例

    p{ text-align:center; } blockquote > p > span{ text-align:center; font-size: 18px; color: #ff0 ...

  5. 转载:WinForm中播放声音的三种方法

    转载:WinForm中播放声音的三种方法 金刚 winForm 播放声音 本文是转载的文章.原文出处:http://blog.csdn.net/jijunwu/article/details/4753 ...

  6. 解决在ScrollView中套用ListView显示不正常

    最近在设计Android程序时,因为需要在ScrollView中添加一个ListView列表来显示一些信息.刚开始并没有想太多,但添加进去后才发现ListView不论怎样定义都只能显示一行,显示效果很 ...

  7. java中采用dom4j解析xml文件

    一.前言 在最近的开发中用到了dom4j来解析xml文件,以前听说过来解析xml文件的几种标准方式:但是从来的没有应用过来,所以可以在google中搜索dmo4j解析xml文件的方式,学习一下dom4 ...

  8. C# Winform 中如何实现音乐播放和视频播放

    C#  Winform 中如何实现音乐播放和视频播放 namespace WindowsFormsApplication1 { public partial class Form2 : Form { ...

  9. 另一种在WINFORM中使用XNA的方法

    之前在写化学分子模型制作程序的时候,使用一种方法,将WINFORM控件嵌入到XNA窗体中,从而实现了即使用WINFORM窗体控件又使用XNA.最近在写另一个物理运动学课件制作程序,同样使用XNA,但从 ...

随机推荐

  1. google对js延迟加载方案的建议

    浏览器在执行JavaScript代码时会停止处理页面,当页面中有很多JavaScript文件或代码要加载时,将导致严重的延迟.尽管可以使用defer.异步或将JavaScript代码放到页面底部来延迟 ...

  2. Java微框架:不可忽视的新趋势--转载

    原文:http://www.infoq.com/cn/news/2015/06/Java-Spark-Jodd-Ninja?utm_campaign=infoq_content&utm_sou ...

  3. NSBlockOperation添加多个任务

    //创建一个队列 NSOperationQueue *operation=[[NSOperationQueue alloc]init]; //把任务放在NSBlockOperation里面 NSBlo ...

  4. [Java] String.Split 方法的6个重载函数

    String.Split 方法有6个重载函数: 程序代码 1) public string[] Split(params char[] separator) 2) public string[] Sp ...

  5. ajax步骤和理解

    步骤: 1.利用html+css来实现页面,表达信息: 2.用XMLHttpRequest和web服务器进行数据的异步交换 3.运营js操作DOM,实现动态局部刷新: XMLHttpRequest对象 ...

  6. 【Mood-12】Android开发相关书籍推荐

    新年伊始,找到Android进阶干货若干,2015拜读. 1.Android应用UI设计模式 目前,谷歌Android操作系统在移动市场中风头正劲,并且未来发展势不可挡.<Android应用UI ...

  7. Myeclipse集成Jboss 6.1控制台不输出日志信息

    在使用myeclipse+jboss 6.1开发的时候发现jboss能够正常启动但是myeclipse的控制台却没有任何的信息输出,这使得我没有办法开发,在查找了大部分的资料发现很多说要改什么jbos ...

  8. 强大的JQuery(三)--操作html与遍历

    前两篇博客讲到了JQuery的基础知识以及其动画效果,本篇将为大家介绍jquery操纵html以及jquery的遍历. 一.jquery操作html 1.获取内容和属性 text() - 设置或返回所 ...

  9. 强大的矢量图形库:Raphael JS 中文帮助文档及教程

    Raphael 是一个用于在网页中绘制矢量图形的 Javascript 库.它使用 SVG W3C 推荐标准和 VML 作为创建图形的基础,你可以通过 JavaScript 操作 DOM 来轻松创建出 ...

  10. apply和call的区别在哪里

    apply:方法能劫持另外一个对象的方法,继承另外一个对象的属性. Function.apply(obj,args)方法能接收两个参数obj:这个对象将代替Function类里this对象args:这 ...