winform 公共控件 ListView
//数据显示,刷新
public void F5()
{
listView1.Items.Clear();
List<Students> Stu = new StudentsData().SeletAll(F1.textBox1.Text);
foreach (Students s in Stu)
{
ListViewItem li = new ListViewItem();
li.Text = s.Ids.ToString();
li.SubItems.Add(s.Code);
li.SubItems.Add(s.Name);
li.SubItems.Add(s.Sexdd);
li.SubItems.Add(s.Age.ToString());
li.SubItems.Add(s.Birthday.ToString("yyyy年MM月dd日"));
li.SubItems.Add(s.Nationna);
li.SubItems.Add(s.ClassNa);
li.SubItems.Add(s.Score.ToString());
listView1.Items.Add(li);
} }
ListView控件是一个winform自带的表格型的应用数据展示控件
好处:是功能比较完善,不需要再自己设置
缺点:不好的地方就是不能设置控件中单元格的大小,字体变大之后超出部分就会隐藏,不能直接输入内容,
要将表中的数据展示出来,需要做到以下几步:
1.先设置好ListView的列名,确定好要展示的的数据有几列
(1)如何设置列名:
点击行为属性Columns,可以设置要设置的列名(text),可以设置很多属性,基本和其他控件一致,如图:
2.查询要展示的表的内容,把这个写成一个方法,方便别的Form调用
//查询所有学生信息
public List<Students> SeletAll(string a)
{
List<Students> Stu = new List<Students>();
cmd.CommandText = "select *from Students where Adm=@a order by Ids asc";
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@a", a);
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
Students s = new Students();
s.Ids = Convert.ToInt32(dr["Ids"]);
s.Code = dr["Code"].ToString();
s.Name = dr["Name"].ToString();
s.Sex = Convert.ToBoolean(dr["Sex"]);
s.Nation = dr["Nation"].ToString();
s.Birthday = Convert.ToDateTime(dr["Birthday"]);
s.Class = dr["Class"].ToString();
s.Score = Convert.ToInt32(dr["Score"]);
Stu.Add(s);
}
}
conn.Close();
return Stu;
}
3.将数据关联起来
这个写成了一个方法,方便在每次重载时调用,并能保证数据传递后调用刷新的方法
//数据显示,刷新
public void F5()
{
listView1.Items.Clear();
List<Students> Stu = new StudentsData().SeletAll(F1.textBox1.Text);
foreach (Students s in Stu)
{
ListViewItem li = new ListViewItem();
li.Text = s.Ids.ToString();
li.SubItems.Add(s.Code);
li.SubItems.Add(s.Name);
li.SubItems.Add(s.Sexdd);
li.SubItems.Add(s.Age.ToString());
li.SubItems.Add(s.Birthday.ToString("yyyy年MM月dd日"));
li.SubItems.Add(s.Nationna);
li.SubItems.Add(s.ClassNa);
li.SubItems.Add(s.Score.ToString());
listView1.Items.Add(li);
} }
4.获取选中数据的各种操作
(1)一次删除多个信息
if (listView1.CheckedItems.Count <= )
{
MessageBox.Show("请先选中学生信息!");
}
else
{
int count = ;
int Nxx = listView1.CheckedItems.Count;
List<int> Lt = new List<int>();
foreach (ListViewItem li in listView1.CheckedItems)
{
Lt.Add(Convert.ToInt32(li.Text));
}
for (int cxx = ; cxx < Nxx; cxx++)
{
if (new StudentsData().Delete(Lt[cxx], F1.textBox1.Text))
{
count++;
}
}
F5();
MessageBox.Show("学生信息删除成功,本次共删除" + count + "名学生.");
}
winform 公共控件 ListView的更多相关文章
- WinForm 公共控件
一.窗体属性: 1.AcceptButton - 窗体的“接受”按钮.如果设置该属性,每次用户按“Enter”键都相当于“单击”了该按钮. 需要设置哪个键,就在后面选择. 2.CancelButton ...
- WinForm公共控件
公共控件:1.Button:按钮 用户点击时触发事件 行为属性 Enabled -是否启用 Visible -是否隐藏2.CheckBox .CheckListBox - 复选框 复选框组 3.Com ...
- 【2017-04-25】winform公共控件、菜单和工具栏、Tab和无边框窗体制作
一.公共控件 1. Button 按钮 + 布局 - AutoSize 按钮尺寸自动适应里面内容的长度 - Location 位置 - Margin 控件与控件外边距 - S ...
- 【2017-04-25】winform公共控件、菜单和工具栏
一.公共控件 公共控件很多的属性很多都相似,这些是大部分都相同的: +布局 - AutoSize:自动适应控件上文字内容- Location:位置- Margin:控件间的间距- Size:控件大小 ...
- WinFrom 公共控件 Listview 的使用
Listview绑定数据库数据展示与操作使用 1.拖一个Listview控件到项目中先将视图改为Details 2.编辑列 设置列头 添加columnHeader成员 Text 是显示的名称 3. ...
- 公共控件Listview
ListView属性中,Items是行的总集合,Items集合中的每一个是一行,Items集合里面有ListViewItem集合,这个集合实例化:ListViewItem li=new ListVie ...
- winform 之控件ListView
使用ListView构建表格展示数据 1.添加列数据:控件ListView--上方按钮--视图(Details)--编辑列--添加 2.添加行数据:--编辑项(行)--添加 添加数据:Text:默认添 ...
- WinForm 公共控件和属性
Button 按钮 布局 AutoSize 内容超出部分是否扩展到适应尺寸大小 Location 位置坐标 Size 控件大小 行为 Enabled 控件是否启用 visible 控件 ...
- WinForm 窗体基本属性、公共控件
一.WinForm:客户端程序制作 - C/S (B/S:服务器端) 它是基于.NET Framework框架上运行,不是必须在windows系统上才能运行---------------------- ...
随机推荐
- hdu 1846 Brave Game(bash)
Brave Game Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- mysql插入一万条数据
定义一个存储过程 mysql> delimiter $$ mysql> create procedure ptest() -> begin -> declare p ...
- Senior Manufacturing Technical Manager
Job Description As a Manufacturing Technical Manager, you will be responsible for bringing new produ ...
- Linux C 编程内存泄露检测工具(一):mtrace
前言 所有使用动态内存分配(dynamic memory allocation)的程序都有机会遇上内存泄露(memory leakage)问题,在Linux里有三种常用工具来检测内存泄露的情況,包括: ...
- UVA - 1471 Defense Lines (set/bit/lis)
紫薯例题+1. 题意:给你一个长度为n(n<=200000)的序列a[n],求删除一个连续子序列后的可能的最长连续上升子序列的长度. 首先对序列进行分段,每一段连续的子序列的元素递增,设L[i] ...
- CodeForces - 150C :Smart Cheater (线段树,求最大连续区间)
I guess there's not much point in reminding you that Nvodsk winters aren't exactly hot. That increas ...
- 一文搞定 Git 相关概念和常用指令
我几乎每天都使用 Git,但仍然无法记住很多命令. 通常,只需要记住下图中的 6 个命令就足以供日常使用.但是,为了确保使用地很顺滑,其实你应该记住 60 到 100 个命令. Git 相关术语 Gi ...
- 小组项目需求——NABCD
关于项目微食堂的NABCD: N(need): 就我自己而言,每天在上午三四节课时就会想中午吃什么.而且大部分的课在二教,离食堂较远.可能会面临“抢不到饭”的问题.首先不知道去哪吃.吃什么,尤其在时间 ...
- [Luogu3674]小清新人渣的本愿
luogu 题意 给你一个序列a,长度为n,有m次操作,每次询问一个区间是否可以选出两个数它们的差为x,或者询问一个区间是否可以选出两个数它们的和为x,或者询问一个区间是否可以选出两个数它们的乘积为x ...
- 获取APK的package名和activity名
使用 aapt dump badging + 需要安装的APK