listview
Posted 涤荡轮回
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了listview相关的知识,希望对你有一定的参考价值。
一、ListView:不同视图中一种显示想的集合,显示表格样式的数据信息
1、视图:
在其右上方小箭头点击将视图改为Details;或者右键属性在外观View将其改为Details
2、设置列头:
在其右上方小箭头点击选择编辑列,然后添加列名;或右键属性-行为-Columns
3、添加行数据
在其右上方小箭头点击选择编辑项,然后将属性Text改名,即第一列,添加成员即其它列;或右键属性-行为-Items
二、连接数据库:
1、建立实体类Users、Nation和数据访问类UsersData、NationData
2、调用UsersData类中的Select方法,将全部数据取出来
List<Student> list = new StudentData().Select();
3、将数据导入到ListView中去
//1、强全部数据取出来
List<Users> list = new UserData().Select();//定义一个泛型集合调用UserData()中的查询方法
int a = 1;//定义变量a,作为序号
foreach (Users u in list)//遍历每条数据
{
ListViewItem li = new ListViewItem();
li.Text = a.ToString();//序号
li.SubItems.Add(u.username);
li.SubItems.Add(u.password);
li.SubItems.Add(u.nickname );
li.SubItems.Add(u.sexstr);
li.SubItems.Add(u.brithdaystr);
li.SubItems.Add(u.nationname);
listView1.Items.Add(li);
a++;
}
4.窗体加载后自动绑定显示ListView中的数据
办法:数据绑定代码写在窗体的构造函数中
5.给用户展示最终数据(属性扩展)
6.行号
用C#变量循环++来实现
7.数据重复绑定
在绑定之前清空Items集合
listView1.Items.Clear();
8.选中一行数据
外观:FullRowSelect:选择其中一项是否选中整行
CheckBoxes:复选框
GridLines:网格线
行为:HideSelection :当控件没有焦点时,是否移除选定项的突出显示
HeaderStyle:列表头的样式
HoverSelection :鼠标悬浮在项上选择项,不好用,需停顿一会,通常与CheckBoxes连用
如何将选中的数据取出来
一个是FullRowSelect属性为True可以选择整行数据
ListView1.SelectedItems
另一个是CheckBoxes属性为True时,可以按照复选框来选择整行数据
ListView1.CheckedItems
删除 只能一项
private void button3_Click(object sender, EventArgs e)
{
int delcount = 0;
int shengyucount = 0;
string a = "";
StudentData std = new StudentData();
if (listView1.CheckedItems.Count <= 0)
{
MessageBox.Show("请至少选择一项进行删除!");
}
else
{
delcount = listView1.CheckedItems.Count;
foreach (ListViewItem li in listView1.CheckedItems)
{
if (li.Checked)
{
bool ok = new StudentData().Delete(li.SubItems[1].Text);
if (ok)
{
shengyucount++;
}
else { a += li.SubItems[1].Text + ","; }
}
}
DBind();
if (delcount == shengyucount)
{
MessageBox.Show("删除成功");
}
else
{
MessageBox.Show("删除失败!要删除" + delcount + "条数据,未删除" + (delcount - shengyucount) + "条数据,未删除的用户名未:" + a + "");
}
}
}
添加:
学号不能为空,不能重复,名字不能为空
private void button1_Click(object sender, EventArgs e)
{
Student st = new Student();
StudentData sdt = new StudentData();
if (textBox1.Text == "")
{
xuehao.Text = "学号不能为空!";
}
else
{
if (sdt.Select(textBox1.Text.Trim()))
{
xuehao.Text = "学号已存在!";
}
else
{
st.Code = textBox1.Text;
}
}
if (textBox2.Text != "")
{
st.Name = textBox2.Text;
}
else
{
xingming.Text = "姓名不能为空!";
}
if (radioButton1.Checked)
{
st.Sex = true;
}
else
{
st.Sex = false;
}
st.Birthday = dateTimePicker1.Value;
st.SubjectCode = comboBox1.SelectedValue.ToString();
bool b=sdt.Insert(st);
if (b == true)
{
MessageBox.Show("添加成功!");
this.Close();
}
else
{
MessageBox.Show("添加失败!");
}
F1.DBind();
}
以上是关于listview的主要内容,如果未能解决你的问题,请参考以下文章
如何给checkbox创建setOnCheckedChangeListener