在展示数据库中不知道数量的数据时怎么展示最好呢?——表格
ListView - 表格形式展示数据
ListView 常用属性
HeaderStyle - “详细信息”视图中列标头的样式。
None - 不显示列标头
Nonclickable - 不可点击
Clickable - 可点击
HideSelection - 当控件没有焦点时,移除选定项的突出显示。
MultiSelect - 允许选择多项 (True/False)。
CheckBoxes - 指示复选框是否显示在项旁边。
FullRowSelect - 指示当项被选中时,其所有子项是否同该项一起突出显示。
GridLines - 在项和子项周围显示网格线。仅在“详细信息”视图中显示。
View - 选择可以显示项的不同视图中的一种。
==========================================================
一、设置表的列头 - Columns集合,添加5个列,设置text,按需要设置TextAlign和Width属性
(第一列TextAlign属性只能是Left,不能居中。如何让第一列居中?数据从第二列开始展示,让第一列宽度为0)
二、设置View属性为 Details(细节),此时即可以显示列名
三、展示数据 - ListView属性中Items集合属性
点击<添加>按钮,添加的是一整行,其中text值为第一列的值。如何添加行中其他数据?打开Items时有一个SubItems集合属性,添加列并设置text值
======================================================
如何将数据库中的数据展示在ListView中?(李献策lxc)
//<刷新>按钮
private void button1_Click(object sender, EventArgs e)
{
List<Users> lu = new List<Users>();
lu = ud.Select();//从数据库中查询数据
//★★★遍历泛型集合前先清除ListView.Items中的数据,以免每次点击刷新时,都会将数据库中数据放入泛型集合中,使泛型集合重复添加元素,越来越大
listView1.Items.Clear();
//★★★
foreach (Users u in lu)//遍历查询出来的数据
{
ListViewItem lv = new ListViewItem();
lv.Text = u.Username;//设置第一行显示的数据
//绑定剩余列的数据
lv.SubItems.Add(u.Password);
lv.SubItems.Add(u.Nickname);
lv.SubItems.Add(u.Sex?"男":"女");
lv.SubItems.Add(u.Birthday.ToLongDateString());
lv.SubItems.Add(u.Nation);
lv.SubItems.Add(u.Class);
//一定记得行数据创建完毕后添加到列表中
listView1.Items.Add(lv);
}
}
刷新按钮
=======================================================
如何对选中的项进行展示?
在上图中,既有选中的行,又有选中的复选框,点击<获取选项>如何把选中的项的用户名和性别展示出来呢?
一、对于选中的行 -
private void button5_Click(object sender, EventArgs e)
{
foreach (ListViewItem lv in listView1.SelectedItems )
{
MessageBox.Show(lv.Text+"\t"+lv.SubItems[].Text); }
}
展示选中的行的信息
二、对于选中的复选框
//<获取选中>按钮
private void button5_Click(object sender, EventArgs e)
{
foreach (ListViewItem lv in listView1.CheckedItems)
{
MessageBox.Show(lv.Text + "\t" + lv.SubItems[].Text); }
}
展示选中的复选框的信息
=============================================================