公共控件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系统上才能运行---------------------- ...
随机推荐
- list和set的区别
list和set的区别 相同点:list,set都是继承自collection接口 不同点: a.list-->元素有放入顺序,元素可重复 set-->元素无放入顺序,元素不可重复 b. ...
- HDU 4888 Redraw Beautiful Drawings(最大流+判最大流网络是否唯一)
Problem Description Alice and Bob are playing together. Alice is crazy about art and she has visited ...
- HDU 4897 Little Devil I(树链剖分)(2014 Multi-University Training Contest 4)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4897 Problem Description There is an old country and ...
- Cookie—的使用
编写 Cookie 浏览器负责管理用户系统上的 Cookie.Cookie 通过 HttpResponse 对象发送到浏览器,该对象公开称为 Cookies 的集合. 可以将 HttpResponse ...
- paper 86:行人检测资源(上)综述文献【转载,以后使用】
行人检测具有极其广泛的应用:智能辅助驾驶,智能监控,行人分析以及智能机器人等领域.从2005年以来行人检测进入了一个快速的发展阶段,但是也存在很多问题还有待解决,主要还是在性能和速度方面还不能达到一个 ...
- 夺命雷公狗---Thinkphp----6之管理员的增删改查之-未验证
首先我们创建多一个控制器UserController.class.php,主要用于管理员的增删改查操作: 代码如下所示: <?php namespace Admin\Controller; us ...
- yii2.0分页
本实例是对商品列表进行分页 1.Controller中,商品列表的方法actionList 引用分页类 actionList中: $goods_info=Goods::find()->joinW ...
- yii2多语言
1.页面视图(我放在了布局文件main.php中): <a href="javascript:;" onclick="changeLanguage('zh-CN') ...
- 小结 javascript中的类型检测
先吐槽一下博客园的编辑器,太不好用了,一旦粘贴个表格进来就会卡死,每次都要用html编辑器写,不爽! 关于javascript的类型检测,早在实习的时候就应该总结,一直拖到现在,当时因为这个问题还出了 ...
- 在路由器 RT-AC68U 安装迅雷远程过程
赶紧记录下,省得时间久了忘记. 步骤如下: 1.下载迅雷远程的 Linux 组件: http://pan.baidu.com/s/1jGqYPnw . 解压缩. 2.ssh 登录au68u 路由器 ...