ListView属性中,Items是行的总集合,Items集合中的每一个是一行,Items集合里面有ListViewItem集合,这个集合实例化:ListViewItem li=new ListViewItem(); li.text是第一行的第一列,SubItems集合是li里面的集合,li.SubItems子集是每一行的、除了第一列的其他列。

1、视图

(1)点击图像上面的“小三角”,将视图设置为Details。--外观-view可更改。

(2)表列:点击“设置列”,“添加(A)”,出现columnHeader1.....这是表的列,设置Text,此为列名。------属性里面的行为-Colums

(3)表行:点击上面“数据”的“Users”结合,点击"添加",添加的项为表的剩余的列。--属性里面的行为-Items

(4)数据库连接:

以以前Users表为例,建立App_Code文件夹,添加实体Student类和数据访问类UsersData。

数据访问类建立查询Student表的全部信息的方法:Pulic    list<Users> list select(){代码}

在form1的表的Button设置点击事件:第一:先将全部数据取出来 List<Users> list=new UsersData().Select();

第二:将数据导入到ListView中去。

  1. foreach (Users a in u)
  2. {
  3. ListViewItem li = new ListViewItem();
  4. li.Text = a.UserName;
  5. li.SubItems.Add(a.Password);
  6. li.SubItems.Add(a.NickName);
  7. li.SubItems.Add(a.Sex?"男":"女");
  8. li.SubItems.Add(a.Birthday.ToString("yyyy年MM月dd日"));
  9. li.SubItems.Add(a.Nation);
  10. listView1.Items.Add(li);
  11.  
  12. }

详细总代码如下:

  1. //实体类
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8. namespace WindowsFormsApplication33.App_Code
  9. {
  10. public class Users
  11. {
  12. private string _UserName;
  13. public string UserName
  14. {
  15. get { return _UserName; }
  16. set { _UserName = value; }
  17.  
  18. }
  19. private string _Password;
  20. public string Password
  21. {
  22. get { return _Password; }
  23. set { _Password = value; }
  24. }
  25. private string _NickName;
  26. public string NickName
  27. {
  28. get { return _NickName; }
  29. set { _NickName = value; }
  30. }
  31. private bool _Sex;
  32. public bool Sex
  33. {
  34. get { return _Sex; }
  35. set { _Sex = value; }
  36.  
  37. }
  38. private DateTime _Birthday;
  39. public DateTime Birthday
  40. {
  41. get { return _Birthday; }
  42. set { _Birthday = value; }
  43. }
  44. private string _Nation;
  45. public string Nation
  46. {
  47. get { return _Nation; }
  48. set { _Nation = value; }
  49. }
  50.  
  51. }
  52. }
  1. //数据访问类
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.Data.SqlClient;
  8.  
  9. namespace WindowsFormsApplication33.App_Code
  10. {
  11. public class UserData
  12. {
  13.  
  14. SqlConnection cnn = null;
  15. SqlCommand cmd = null;
  16. public UserData()
  17. {
  18. cnn = new SqlConnection("server=.;database=ren;user=sa;pwd=123");
  19. cmd = cnn.CreateCommand();
  20. }
  21. public List<Users> select()//查询全部信息,返回集合
  22. {
  23. List<Users> u = new List<Users>();
  24. cmd.CommandText = "select * from Users";
  25. cnn.Open();
  26. SqlDataReader ss = cmd.ExecuteReader();
  27. if (ss.HasRows)
  28. {
  29.  
  30. while (ss.Read())
  31. {
  32. Users a = new Users();
  33. a.UserName = ss[].ToString();
  34. a.Password = ss[].ToString();
  35. a.NickName = ss[].ToString();
  36. a.Sex = Convert.ToBoolean(ss[]);
  37. a.Birthday = Convert.ToDateTime(ss[]);
  38. a.Nation = ss[].ToString();
  39. u.Add(a);
  40. }
  41.  
  42. }
  43.  
  44. cnn.Close();
  45.  
  46. return u;
  47. }
  48.  
  49. }
  50. }
  1. //点击事件
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using System.Windows.Forms;
  11. using WindowsFormsApplication33.App_Code;
  12.  
  13. namespace WindowsFormsApplication33
  14. {
  15. public partial class Form1 : Form
  16. {
  17. public Form1()
  18. {
  19. InitializeComponent();
  20. }
  21.  
  22. private void listView1_SelectedIndexChanged(object sender, EventArgs e)
  23. {
  24.  
  25. }
  26.  
  27. private void button1_Click(object sender, EventArgs e)
  28. {
  29. List<Users> u = new UserData().select();//获得集合
  30.  
  31. foreach (Users a in u)
  32. {
  33. ListViewItem li = new ListViewItem();
  34. li.Text = a.UserName;
  35. li.SubItems.Add(a.Password);
  36. li.SubItems.Add(a.NickName);
  37. li.SubItems.Add(a.Sex?"男":"女");
  38. li.SubItems.Add(a.Birthday.ToString("yyyy年MM月dd日"));
  39. li.SubItems.Add(a.Nation);
  40. listView1.Items.Add(li);
  41.  
  42. }
  43.  
  44. }
  45.  
  46. private void Form1_Load(object sender, EventArgs e)
  47. {
  48.  
  49. }
  50. }
  51. }

2、问题:怎么才能打开窗体,自动在窗体中显示数据库的内容

办法:数据查询显示代码的方法写在窗体的构造函数中。

3、怎么给用户展示最终数据

办法:数据库的属性扩展。

4、在窗体中怎么显示行号

办法:在函数外int i=1;在函数内循环时设置第一列的i++;

5、选中一行数据

外观 - FullRowSelect:选择其中一项,是否选中整行
          CheckBoxes:复选框
           GridLines:网格线
行为 - HideSelection :当控件没有焦点时,是否移除选定项的突出显示
           HeaderStyle:列表头的样式,是否能被选中
           HoverSelection :鼠标悬浮在项上选择项,不好用,需停顿一会,通常与CheckBoxes连用

如何将选中的数据取出来
一个是FullRowSelect属性为True可以选择整行数据
ListView1.SelectedItems

  1. foreach (ListViewItem li in listView1.SelectedItems)
  2. {
  3. if (li.Selected)
  4. {
  5. MessageBox.Show(li.SubItems[].Text);
  6. }
  7.  
  8. }

另一个是CheckBoxes属性为True时,可以按照复选框来选择整行数据
ListView1.CheckedItems

  1. foreach (ListViewItem li in listView1.SelectedItems)
  2. {
  3. if (li.Checked)
  4. {
  5. MessageBox.Show(li.SubItems[].Text);
  6. }
  7.  
  8. }

完!

公共控件Listview的更多相关文章

  1. WinFrom 公共控件 Listview 的使用

    Listview绑定数据库数据展示与操作使用  1.拖一个Listview控件到项目中先将视图改为Details 2.编辑列 设置列头  添加columnHeader成员 Text 是显示的名称 3. ...

  2. winform 公共控件 ListView

    //数据显示,刷新 public void F5() { listView1.Items.Clear(); List<Students> Stu = new StudentsData(). ...

  3. WinForm 公共控件

    一.窗体属性: 1.AcceptButton - 窗体的“接受”按钮.如果设置该属性,每次用户按“Enter”键都相当于“单击”了该按钮. 需要设置哪个键,就在后面选择. 2.CancelButton ...

  4. WinForm公共控件

    公共控件:1.Button:按钮 用户点击时触发事件 行为属性 Enabled -是否启用 Visible -是否隐藏2.CheckBox .CheckListBox - 复选框 复选框组 3.Com ...

  5. winform(公共控件)

    一.客户端设计思路 1.理顺设计思路,架构框架 2.设计界面 3.编写后台代码 4.数据库访问 二.公共控件 1.Button(按钮): ⑴ Enabled :确定是否启用控件 ⑵ Visible:确 ...

  6. 12-22C#公共控件(基本功能)

    在C#窗体中,公共控件的基本功能: 1.获取.设置控件的参数值: 2.事件(其实是一种特殊的方法和属性,当被其他外力触发它,就会发生,类似数据库的触发器.) 下面是基本的公共控件: 1.复选框 1)设 ...

  7. (1)C#工具箱-公共控件1

    公共控件 InitializeComponent() 先说下InitializeComponent()这个方法,它在form1.cs里调用这个方法对控件进行初始化,控件的方法要在这个方法之后,否则会因 ...

  8. [Android Pro] android控件ListView顶部或者底部也显示分割线

    reference to  :  http://blog.csdn.net/lovexieyuan520/article/details/50846569 在默认的Android控件ListView在 ...

  9. WinForm 窗体基本属性、公共控件

    一.WinForm:客户端程序制作 - C/S (B/S:服务器端) 它是基于.NET Framework框架上运行,不是必须在windows系统上才能运行---------------------- ...

随机推荐

  1. [转]MySQL数据库引擎

    经常用MySQL数据库,但是,你在用的时候注意过没有,数据库的存储引擎,可能有注意但是并不清楚什么意思,可能根本没注意过这个问题,使用了默认的数据库引擎,当然我之前属于后者,后来成了前者,然后就有了这 ...

  2. Android中操作数据的集中方式---文件,SQLite,ContentProvider

    http://blog.csdn.net/he90227/article/details/33734239 转

  3. PAT乙级 1020. 月饼 (25)(只得到23分)

    1020. 月饼 (25) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 月饼是中国人在中秋佳节时吃的一种传统食 ...

  4. [Ubuntu] 转载-使用Ubuntu修复grub

    原文地址:http://fav.coketea.com/article_show.php?id=1 步骤一.以试用方式进入ubuntu光盘系统,打开终端(快捷键ctrl+alt+t): 步骤二.获取r ...

  5. linux下在eclipse上运行hadoop自带例子wordcount

    启动eclipse:打开windows->open perspective->other->map/reduce 可以看到map/reduce开发视图.设置Hadoop locati ...

  6. SlidingMenu实现app侧滑功能

    很多APP都有侧滑菜单的功能,部分APP左右都是侧滑菜单~SlidingMenu 这个开源项目可以很好帮助我们实现侧滑功能,如果对SlidingMenu 还不是很了解的童鞋,可以参考下本篇博客. 本片 ...

  7. PHPCMS V9 环境搭建

    PHPCMS V9的学习总结分为以下几点: [1]PHPCMS 简介 PHP原始为Personal Home Page的缩写,(外文名:PHP: Hypertext Preprocessor,中文名: ...

  8. java的web项目中使用cookie保存用户登陆信息

    本文转自:http://lever0066.iteye.com/blog/1735963 最近在编写论坛系统的实现,其中就涉及到用户登陆后保持会话直到浏览器关闭,同时可以使用cookie保存登陆信息以 ...

  9. django view使用学习记录

    判断用户是否登录 request.user.is_authenticated()auth.authenticate(username=username, password=password)

  10. Linux之sed命令详解

    简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的 ...