LisView控件
用LisView控件在窗体中创建一个表,设置一个按钮,点击按钮,
将数据库中的表在这个控件中显示(LisView控件中表格式列名与数据库中一致)
首先使用控件将表的每一列创建好,加入一个按钮,如图,现在要在按钮的点击事件中实现数据库内容显示
备注:ListView中,可以单个或者多个点击选择出一条信息,将属性外观中FullRowSelect改为true,获取点击的值用listView1(ListView控件的Name).SelectedItems
先创建一个实体类:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 容器控件 { class Student//这是数据库表中的每一列 { public string Code { get; set; } public string Name { get; set; } public bool Sex { get; set; } public DateTime Birthday { get; set; } public decimal Score { get; set; } } }
然后在按钮点击事件中写方法:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace 容器控件 { public partial class Form2 : Form { SqlConnection conn = null;//开启数据库连接操作 SqlCommand cmd = null; public Form2() { InitializeComponent(); conn = new SqlConnection("server=.;database=Data0425;user=sa;pwd=123;"); cmd = conn.CreateCommand(); } private void button1_Click(object sender, EventArgs e) { List<Student> list = new List<Student>();//将创建的实体类放入泛型集合 cmd.CommandText = "select *from Student";//数据库信息查询 conn.Open(); SqlDataReader dr = cmd.ExecuteReader(); if (dr.HasRows)//判断查询到数据,将每一条数据循环添加进泛型集合 { while (dr.Read()) { Student s = new Student(); s.Code = dr[0].ToString(); s.Name = dr[1].ToString(); s.Sex = Convert.ToBoolean(dr[2]); s.Birthday = Convert.ToDateTime(dr[3]); s.Score = Convert.ToDecimal(dr[4]); list.Add(s); } } conn.Close(); //如何把泛型集合信息放进ListView中 foreach (Student s in list)//遍历集合 { ListViewItem li = new ListViewItem();//实例化一下ListView的集合Item li.Text = s.Code; li.SubItems.Add(s.Name); li.SubItems.Add(s.Sex.ToString()); li.SubItems.Add(s.Birthday.ToString()); li.SubItems.Add(s.Score.ToString()); //将泛型集合的每一条每一项逐个添加到ListViewItem集合中 listView1.Items.Add(li); } } } }