将整个列从listview复制到具有相同列格式的另一个列表视图

时间:2014-03-14 17:03:26

标签: c# listview

我正在尝试拥有2个列表视图,最终将充当彼此的镜像。在第一个listview中,我可以从数据库中填充它而没有任何问题。我有另一个列表视图,当在第一个listview(listVariants)中检查一行时,用户可以将整行移动到第二个listview(addFCList)。使用下面的代码它是有效的,有点。我遇到的问题是当从listVariants中检查另一个项目时,它添加到addFCList的方式是内联的,它只是包装。每个项目和子项目作为单个项目添加到列表视图中。

我有两个listview cloumns设置相同。我的问题是如何让第二个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());
                    }                                           
            }                
        }

感谢您提供任何帮助和建议。

1 个答案:

答案 0 :(得分:0)

listView1.Columns.AddRange((from ColumnHeader item in listView2.Columns
   select (ColumnHeader)item.Clone()).ToArray());