现在的位置: 首页 > 综合 > 正文

(转) ListViewGroup简单使用

2013年08月04日 ⁄ 综合 ⁄ 共 1963字 ⁄ 字号 评论关闭

文章来自:http://blog.csdn.net/blog51/archive/2007/09/25/1799463.aspx

 

XP以后的操作系统,开始支持ListView的分组显示,本例的测试截图如下:例子2group例子

主要代码如下:
private void button1_Click(object sender, EventArgs e)
{
listView1.Groups.Clear();
listView1.Items.Clear();

listView1.View = View.LargeIcon;
ColumnHeader columnHeader0 = new ColumnHeader();
columnHeader0.Text = "Title";
columnHeader0.Width = 200;
ColumnHeader columnHeader1 = new ColumnHeader();
columnHeader1.Text = "Author";
columnHeader1.Width = 200;
ColumnHeader columnHeader2 = new ColumnHeader();
columnHeader2.Text = "Year";
columnHeader2.Width = 100;

listView1.Columns.AddRange(new ColumnHeader[] { columnHeader0, columnHeader1, columnHeader2 });

ListViewGroup group1 = new ListViewGroup("001");
ListViewGroup group2 = new ListViewGroup("002");

listView1.Groups.Add(group1);
listView1.Groups.Add(group2);

// Create items and add them to myListView.
ListViewItem item0 = new ListViewItem(new string[]
{"Programming Windows",
"Petzold, Charles",
"1998"},0,group1);
ListViewItem item1 = new ListViewItem(new string[]
{"Code: The Hidden Language of Computer Hardware and Software",
"Petzold, Charles",
"2000"}, 0, group1);
ListViewItem item2 = new ListViewItem(new string[]
{"Programming Windows with C#",
"Petzold, Charles",
"2001"}, 0, group1);
ListViewItem item3 = new ListViewItem(new string[]
{"Coding Techniques for Microsoft Visual Basic .NET",
"Connell, John",
"2001"}, 1, group2);
ListViewItem item4 = new ListViewItem(new string[]
{"C# for Java Developers",
"Jones, Allen & Freeman, Adam",
"2002"}, 1, group2);
ListViewItem item5 = new ListViewItem(new string[]
{"Microsoft .NET XML Web Services Step by Step",
"Jones, Allen & Freeman, Adam",
"2002"}, 1, group2);
listView1.Items.AddRange(
new ListViewItem[] { item0, item1, item2, item3, item4, item5 });
}

private void button2_Click(object sender, EventArgs e)
{
listView1.View = View.Details;
}

原来如果想在ListView里实现数据分组的功能,还要在listviewitem里加上组名,当然之前的组名肯定是需要先定义的。

 

ListViewGroup lvg = new ListViewGroup("oo1");
//lvg.Header = "gropu";
ListViewGroup lvg1 = new ListViewGroup("002");
lvTemp.Groups.Add(lvg);
lvTemp.Groups.AddRange(new ListViewGroup[]{lvg,lvg1});

在已定义分组名的情况下,如果所插入的数据,没有和组名匹配,会为数据设置Default 分组名。

抱歉!评论已关闭.