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连用
重点:
1、数据如何绑定上去
2、如何将选中的数据取出来
(1)一个是FullRowSelect属性为True可以选择整行数据(ListView1.SelectedItems)
if (listView1.SelectedItems.Count > 1)//选择了多行
{
MessageBox.Show("修改只允许选择一行");
}
else if (listView1.SelectedItems.Count == 1)
{
foreach (ListViewItem li in listView1.SelectedItems)
{
if (li.Selected)
{
MessageBox.Show(li.SubItems[0].Text + li.SubItems[1].Text + li.SubItems[2].Text + li.SubItems[3].Text + li.SubItems[4].Text + li.SubItems[5].Text);
}
}
}
else//未选中
{
MessageBox.Show("请先选中您要修改的数据");
}
(2)另一个是CheckBoxes属性为True时,可以按照复选框来选择整行数据(ListView1.CheckedItems)
foreach (ListViewItem li in listView1.CheckedItems)
{
if (li.Checked)
{
MessageBox.Show(li.SubItems[0].Text + li.SubItems[1].Text + li.SubItems[2].Text + li.SubItems[3].Text + li.SubItems[4].Text + li.SubItems[5].Text);
}
}