c# .net listview 与分组
Posted
技术标签:
【中文标题】c# .net listview 与分组【英文标题】:c# .net listview with grouping 【发布时间】:2015-07-01 23:39:21 【问题描述】:对 c# 和 .net 不熟悉,我正在尝试将一个包含三列的列表视图组合在一起,即数量、项目描述和价格。我知道如何用数据填充行,我什至可以在下面添加子项,但我不知道如何将它们组合在一起作为主项,并与它绑定的“子”项...
对不起,我很可能是不正确的措辞,但这就是我要拍摄的:
Qty Description Price
1 Widget 2.95
Widget add on .25
Widget insurance 1.25
1 Sprocket 4.95
Sprocket add on .50
我试图弄清楚如何将主要项目下方的子项目分组,以使其在我选择例如“Widget insurance”时突出显示“Widget add on”和“Wiget”作为一个实体。因此,例如,如果我需要返回并从购买“小部件”中删除“小部件保险”,我可以单击任何连接到“小部件”的项目,例如。 “Widget”、“Widget add on”或“Widget insurance”,它会拉出另一个表单,让我取消选择“Widget insurance”,点击 OK,它会相应地更新列表...
我(糟糕地)将代码拼凑在一起,在视觉上给了我想要的东西,但我认为我完全混淆了 subitem 的使用及其用途:
string[] newItem = new string[3];
ListViewItem itm;
newItem[0] = "1";
newItem[1] = "Widget";
newItem[2] = "2.95";
itm = new ListViewItem(newItem);
listView1.Items.Add(itm);
string[] newSubItem = new string[3];
ListViewItem sub;
newSubItem[0] = "";
newSubItem[1] = "Widget add on";
newSubItem[2] = ".25";
sub = new ListViewItem(newSubItem);
listView1.Items.Add(sub);
任何帮助将不胜感激。
【问题讨论】:
可能重复:***.com/questions/729090/… 【参考方案1】:给你。 “数量”将是 ListViewItem 的文本。 “描述”和“价格”将是 ListViewItem 的子项。
public partial class Form1 : Form
public Form1()
InitializeComponent();
private void Form1_Load(object sender, EventArgs e)
listView1.View = View.Details;
listView1.Columns.Add("Qty", 100, HorizontalAlignment.Left);
listView1.Columns.Add("Description", 100, HorizontalAlignment.Left);
listView1.Columns.Add("Prie", 100, HorizontalAlignment.Left);
var details = new[] "Widget", "2.95";
var item = new ListViewItem("1");
item.SubItems.AddRange(details);
listView1.Items.Add(item);
details = new[] "Widget add on",".25";
item = new ListViewItem("");
item.SubItems.AddRange(details);
listView1.Items.Add(item);
希望对您有所帮助。
【讨论】:
但是如果我选择小部件添加,小部件也会突出显示,我该如何使用它?我需要能够将这些“子项”与它们的父项联系在一起,但我无法弄清楚。以上是关于c# .net listview 与分组的主要内容,如果未能解决你的问题,请参考以下文章
急!!关于C#中Listview的使用,向Listview中添加数据的方法。
winform c# listview 如何 选中行!急!在线等!