c#和.net的新手,我试图将列表视图放在一起,列表视图有三列,数量,项目描述和价格。我知道如何用数据填充行,我甚至可以在下面添加子项,但我无法弄清楚我是如何将它们组合在一起作为主要项目与#34; children"与之相关的物品......
很抱歉我最不正确的措辞,但这就是我拍摄的内容:
Qty Description Price
1 Widget 2.95
Widget add on .25
Widget insurance 1.25
1 Sprocket 4.95
Sprocket add on .50
我正在试图弄清楚如何将主要项目下方的子项目分组,以便在我选择时将其设置为“#34; Widget insurance"”,它突出显示" Widget add on&#34 ;和" Wiget"作为一个实体。例如,如果我需要返回并删除" Widget insurance"从购买" Widget"我可以点击连接到" Widget",ex的任何项目。 " Widget"," Widget添加"或者" Widget保险"它会拉出另一个表格,允许我取消选择" 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);
非常感谢任何帮助。
答案 0 :(得分:0)
你在这里。 "数量"将是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);
}
}
希望得到这个帮助。