公共控件Listview
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中去。
foreach (Users a in u)
{
ListViewItem li = new ListViewItem();
li.Text = a.UserName;
li.SubItems.Add(a.Password);
li.SubItems.Add(a.NickName);
li.SubItems.Add(a.Sex?"男":"女");
li.SubItems.Add(a.Birthday.ToString("yyyy年MM月dd日"));
li.SubItems.Add(a.Nation);
listView1.Items.Add(li); }
详细总代码如下:
//实体类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace WindowsFormsApplication33.App_Code
{
public class Users
{
private string _UserName;
public string UserName
{
get { return _UserName; }
set { _UserName = value; } }
private string _Password;
public string Password
{
get { return _Password; }
set { _Password = value; }
}
private string _NickName;
public string NickName
{
get { return _NickName; }
set { _NickName = value; }
}
private bool _Sex;
public bool Sex
{
get { return _Sex; }
set { _Sex = value; } }
private DateTime _Birthday;
public DateTime Birthday
{
get { return _Birthday; }
set { _Birthday = value; }
}
private string _Nation;
public string Nation
{
get { return _Nation; }
set { _Nation = value; }
} }
}
//数据访问类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient; namespace WindowsFormsApplication33.App_Code
{
public class UserData
{ SqlConnection cnn = null;
SqlCommand cmd = null;
public UserData()
{
cnn = new SqlConnection("server=.;database=ren;user=sa;pwd=123");
cmd = cnn.CreateCommand();
}
public List<Users> select()//查询全部信息,返回集合
{
List<Users> u = new List<Users>();
cmd.CommandText = "select * from Users";
cnn.Open();
SqlDataReader ss = cmd.ExecuteReader();
if (ss.HasRows)
{ while (ss.Read())
{
Users a = new Users();
a.UserName = ss[].ToString();
a.Password = ss[].ToString();
a.NickName = ss[].ToString();
a.Sex = Convert.ToBoolean(ss[]);
a.Birthday = Convert.ToDateTime(ss[]);
a.Nation = ss[].ToString();
u.Add(a);
} } cnn.Close(); return u;
} }
}
//点击事件
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using WindowsFormsApplication33.App_Code; namespace WindowsFormsApplication33
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{ } private void button1_Click(object sender, EventArgs e)
{
List<Users> u = new UserData().select();//获得集合 foreach (Users a in u)
{
ListViewItem li = new ListViewItem();
li.Text = a.UserName;
li.SubItems.Add(a.Password);
li.SubItems.Add(a.NickName);
li.SubItems.Add(a.Sex?"男":"女");
li.SubItems.Add(a.Birthday.ToString("yyyy年MM月dd日"));
li.SubItems.Add(a.Nation);
listView1.Items.Add(li); } } private void Form1_Load(object sender, EventArgs e)
{ }
}
}
2、问题:怎么才能打开窗体,自动在窗体中显示数据库的内容
办法:数据查询显示代码的方法写在窗体的构造函数中。
3、怎么给用户展示最终数据
办法:数据库的属性扩展。
4、在窗体中怎么显示行号
办法:在函数外int i=1;在函数内循环时设置第一列的i++;
5、选中一行数据
如何将选中的数据取出来
一个是FullRowSelect属性为True可以选择整行数据
ListView1.SelectedItems
foreach (ListViewItem li in listView1.SelectedItems)
{
if (li.Selected)
{
MessageBox.Show(li.SubItems[].Text);
} }
另一个是CheckBoxes属性为True时,可以按照复选框来选择整行数据
ListView1.CheckedItems
foreach (ListViewItem li in listView1.SelectedItems)
{
if (li.Checked)
{
MessageBox.Show(li.SubItems[].Text);
} }
完!
公共控件Listview的更多相关文章
- WinFrom 公共控件 Listview 的使用
Listview绑定数据库数据展示与操作使用 1.拖一个Listview控件到项目中先将视图改为Details 2.编辑列 设置列头 添加columnHeader成员 Text 是显示的名称 3. ...
- winform 公共控件 ListView
//数据显示,刷新 public void F5() { listView1.Items.Clear(); List<Students> Stu = new StudentsData(). ...
- WinForm 公共控件
一.窗体属性: 1.AcceptButton - 窗体的“接受”按钮.如果设置该属性,每次用户按“Enter”键都相当于“单击”了该按钮. 需要设置哪个键,就在后面选择. 2.CancelButton ...
- WinForm公共控件
公共控件:1.Button:按钮 用户点击时触发事件 行为属性 Enabled -是否启用 Visible -是否隐藏2.CheckBox .CheckListBox - 复选框 复选框组 3.Com ...
- winform(公共控件)
一.客户端设计思路 1.理顺设计思路,架构框架 2.设计界面 3.编写后台代码 4.数据库访问 二.公共控件 1.Button(按钮): ⑴ Enabled :确定是否启用控件 ⑵ Visible:确 ...
- 12-22C#公共控件(基本功能)
在C#窗体中,公共控件的基本功能: 1.获取.设置控件的参数值: 2.事件(其实是一种特殊的方法和属性,当被其他外力触发它,就会发生,类似数据库的触发器.) 下面是基本的公共控件: 1.复选框 1)设 ...
- (1)C#工具箱-公共控件1
公共控件 InitializeComponent() 先说下InitializeComponent()这个方法,它在form1.cs里调用这个方法对控件进行初始化,控件的方法要在这个方法之后,否则会因 ...
- [Android Pro] android控件ListView顶部或者底部也显示分割线
reference to : http://blog.csdn.net/lovexieyuan520/article/details/50846569 在默认的Android控件ListView在 ...
- WinForm 窗体基本属性、公共控件
一.WinForm:客户端程序制作 - C/S (B/S:服务器端) 它是基于.NET Framework框架上运行,不是必须在windows系统上才能运行---------------------- ...
随机推荐
- ACM-ICPC竞赛模板
为了方便打印,不再将代码放到代码编辑器里,祝你好运. ACM-ICPC竞赛模板(1) 1. 几何 4 1.1 注意 4 1.2 几何公式 4 1.3 多边形 6 1.4 多边形切割 9 1.5 浮点函 ...
- C++之路进阶——codevs2366(朋友圈)
2366 朋友圈 2012年省队选拔赛河北 时间限制: 10 s 空间限制: 256000 KB 题目等级 : 大师 Master 题目描述 Description 在很久很久以前,曾经 ...
- android_demo01
/layout/activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/ ...
- java装饰者模式理解
java 装饰者模式其实就是扩展子类的功能,和继承是一个性质. 但继承是在编译时就固定扩展了父类的一些功能,而装饰者模式是在运行过程中动态绑定对象,实现一个子类可以随时扩展功能. 将方法排列组合,也可 ...
- fault coverage enhancement
在pseudo-random test中,由于random pattern resistant的特性,fault coverage不是sufficient的, 所以会有一些办法来进行coverage的 ...
- java 操作excel 文件
JAVA EXCEL API:是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该API非Windows操作系统也可以通过 ...
- windows中的上帝模式开启方法
在任何地方创建一个新的文件夹 把文件夹命名为"GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}" 回车,ok了
- 关于基于.NET Framework的网络通信程序底层扫盲
引自<三维游戏引擎的设计与实现>书中9.3节: 如果服务端在.Net Framework基础上开发,那么可以直接选择使用.Net Framework提供的Socket类, ...
- ASP.NET MVC 返回JsonResult序列化内容超出最大限制报错的解决办法
在使用MVC的时候我们经常会在Controller的Action方法中返回JsonResult对象,但是有时候你如果序列化的对象太大会导致JsonResult从Controller的Action返回后 ...
- JS货币数字转换中文
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...