C# 将整个列从listview复制到具有相同列格式的另一个listview

C# 将整个列从listview复制到具有相同列格式的另一个listview,c#,listview,C#,Listview,我试图有两个列表视图,最终将作为彼此的镜像。在第一个listview中,我能够从DB中填充它,没有任何问题。我有另一个列表视图,当在第一个listview(listVariants)中选中一行时,用户可以将整行移动到第二个listview(addFCList)。有了下面的代码,它就可以工作了。我遇到的问题是,当从ListVarians中检查另一项时,它添加到addFCList的方式是内联的,而它只是包装。每个项和子项都将作为单个项添加到listview中 我有两个listview克隆设置相同。我

我试图有两个列表视图,最终将作为彼此的镜像。在第一个listview中,我能够从DB中填充它,没有任何问题。我有另一个列表视图,当在第一个listview(listVariants)中选中一行时,用户可以将整行移动到第二个listview(addFCList)。有了下面的代码,它就可以工作了。我遇到的问题是,当从ListVarians中检查另一项时,它添加到addFCList的方式是内联的,而它只是包装。每个项和子项都将作为单个项添加到listview中

我有两个listview克隆设置相同。我的问题是如何使第二个listview(addFCList)与第一个listview(listVariants)相同?我是不是错过了什么明显的

编辑我已经解决了这个问题,但将把它留在这里,以帮助别人在未来

for (int i = 0; i < listVariants.Items.Count; i++)
        {
            if (listVariants.Items[i].Checked)
            {
                string UNI = listVariants.Items[i].SubItems[9].Text;

                    bool nameInsert = true;

                    for (int t = 0; t < addFCList.Items.Count; t++)
                    {
                        if (addFCList.Items[t].SubItems[9].Text == UNI)
                        {
                            nameInsert = false;
                            break;
                        }
                    }
                    if (nameInsert)
                    {
                        addFCList.Items.Add((ListViewItem)listVariants.Items[i].Clone());
                    }                                           
            }                
        }
for(int i=0;i

感谢您的帮助和建议。

您的代码将添加ListViewItem。它不向其中添加子项。它只添加该项的一列或子项中的文本。我需要添加所有子项。因此,编写代码,使用for()循环。现在还不清楚为什么您在编写代码时遇到困难。我想我想知道我是否可以抓住整行,或者是否需要获取每个子项。
listView1.Columns.AddRange((from ColumnHeader item in listView2.Columns
   select (ColumnHeader)item.Clone()).ToArray());