Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 转换列表<;对象>;ListView项(带子项)的步骤_C#_Winforms_Listview - Fatal编程技术网

C# 转换列表<;对象>;ListView项(带子项)的步骤

C# 转换列表<;对象>;ListView项(带子项)的步骤,c#,winforms,listview,C#,Winforms,Listview,我有一个预配置的ListView(已经设置了列标题),我想任务一个对象列表,并将我有一个列表的类的特定属性作为行写入该ListView 我试着遵循,虽然它可以完美地处理只有一列的项,但我不知道如何应用多个子项 我有一个类,它包含一个列表,该列表被传递给一个UserControl,该UserControl获取该列表并将每个产品项添加到控件内的列表视图中 虽然链接的Q&A处理了这个问题,但它并不完整,我不知道如何将其他属性作为子项放到ListView中 我的代码片段:Products.Items.A

我有一个预配置的ListView(已经设置了列标题),我想任务一个对象列表,并将我有一个列表的类的特定属性作为行写入该ListView

我试着遵循,虽然它可以完美地处理只有一列的项,但我不知道如何应用多个子项

我有一个类,它包含一个
列表
,该列表被传递给一个UserControl,该UserControl获取该列表并将每个产品项添加到控件内的列表视图中

虽然链接的Q&A处理了这个问题,但它并不完整,我不知道如何将其他属性作为子项放到ListView中

我的代码片段:
Products.Items.AddRange(basket.ProductList.Select(p=>newlistViewItem(p.Description)).ToArray()其中
p
是一个
列表


我还希望在listview中有项目数量、单价和行总数(已经在类中计算出来),但我不确定从哪里开始。

ListViewItem
类有很多构造函数。最适合你的情况是

公共ListViewItem(字符串[]项)

使用表示子项的字符串数组初始化ListViewItem类的新实例

用你的代码片段,像这样

Products.Items.AddRange(basket.ProductList.Select(p => new ListViewItem(new string[]
{ 
    p.Description,
    p.Quantity.ToString(...),
    p.UnitPrice.ToString(...),
     ...  
})).ToArray());

请注意,
ListViewItem.Text
实际上是
ListView.SubItems[0]。Text

这是WPF还是表单?对不起,我应该指定-它是WinFormsAlso,您应该详细说明一下,到底是什么问题?是否为视图创建新列?是否从listviewitem中查找产品?等或者您希望主详细视图?listview不太适合这种情况。您必须为每个项目添加子项目。另一方面,如果是datagridview,
myDGV.DataSource=basket是您所需要的全部我已经更新了-但简而言之,我有一个类“产品”的列表,我想将其转换为包含子项的ListViewItems,其中子项是类的属性,例如数量、单价、行总数等。。