C# VS2008 ListView控件 怎样实现item复制粘贴
ListViewItem[]ListViewItemBox=newListViewItem[200];//将原listview中的选中项先复制到数组里:for(inti=...
ListViewItem[] ListViewItemBox = new ListViewItem[200];
//将原listview中的选中项先复制到数组里:
for (int i = 0; i < listView1.SelectedItems.Count; i++)
{
ListViewItemBox[i] = listView1.SelectedItems[i];
}
//再实现以下插入语句的时候,总是报错,为什么?报错说无法插入XX数值,该数值的值刚好是 ListViewItemBox[0].subitem[0].text
listView1.Items.Insert(0,ListViewItemBox[0]);
ListViewItem[] ListViewItemBox = new ListViewItem[200];
ListView1.Items.Insert(0,ListViewItemBox[0]);
注意以上我是先声明了一个“ListViewItem[]”数组,然后把该数组的第一个元素ListViewItemBox[0]插入到原listView1表的第一行去, insert方法的第二个参数明明就是ListViewItem 类型的,ide也不报错,但是为什么执行的时候就是无法插入 展开
//将原listview中的选中项先复制到数组里:
for (int i = 0; i < listView1.SelectedItems.Count; i++)
{
ListViewItemBox[i] = listView1.SelectedItems[i];
}
//再实现以下插入语句的时候,总是报错,为什么?报错说无法插入XX数值,该数值的值刚好是 ListViewItemBox[0].subitem[0].text
listView1.Items.Insert(0,ListViewItemBox[0]);
ListViewItem[] ListViewItemBox = new ListViewItem[200];
ListView1.Items.Insert(0,ListViewItemBox[0]);
注意以上我是先声明了一个“ListViewItem[]”数组,然后把该数组的第一个元素ListViewItemBox[0]插入到原listView1表的第一行去, insert方法的第二个参数明明就是ListViewItem 类型的,ide也不报错,但是为什么执行的时候就是无法插入 展开
4个回答
展开全部
ListViewItem[] ListViewItemBox = new ListViewItem[200];
for (int i = 0; i < listView1.SelectedItems.Count; i++)
{
ListViewItemBox[i] = listView1.SelectedItems[i].Clone() as ListViewItem;
}
listView1.Items.Insert(0, ListViewItemBox[0]);
我按照你的代码测试,报的错误是:
"Cannot add or insert the item '1' in more than one place. You must first remove it from its current location or clone it.\r\nParameter name: item"
这里它这个“1”是我Item的第一个字符串。它并不代表你在插入一个字符串。只是用来代表你正在进行操作的对象。
这个错误实际报的是同一个ListViewItem的引用不能在ListView中添加两遍,所以我要在这里做一下克隆(Clone()),创建一个完全相同的新的对象。
ListViewItemBox[i] = listView1.SelectedItems[i].Clone() as ListViewItem;
这样就没有问题了
for (int i = 0; i < listView1.SelectedItems.Count; i++)
{
ListViewItemBox[i] = listView1.SelectedItems[i].Clone() as ListViewItem;
}
listView1.Items.Insert(0, ListViewItemBox[0]);
我按照你的代码测试,报的错误是:
"Cannot add or insert the item '1' in more than one place. You must first remove it from its current location or clone it.\r\nParameter name: item"
这里它这个“1”是我Item的第一个字符串。它并不代表你在插入一个字符串。只是用来代表你正在进行操作的对象。
这个错误实际报的是同一个ListViewItem的引用不能在ListView中添加两遍,所以我要在这里做一下克隆(Clone()),创建一个完全相同的新的对象。
ListViewItemBox[i] = listView1.SelectedItems[i].Clone() as ListViewItem;
这样就没有问题了
展开全部
你这里有一点逻辑错误
你想 listview的数组 包含什么?
当然是 包含listview 了 然后当众的listview 再包含你所要粘贴的值
这样你试试 不行 再问
回答补充:你想把列表插入到列表中 这样做肯定是不行的 你应当获取到 列表中的值 也就是列表项 再做插入操作 你先试试 不行的话 我用程序帮你做一下
你想 listview的数组 包含什么?
当然是 包含listview 了 然后当众的listview 再包含你所要粘贴的值
这样你试试 不行 再问
回答补充:你想把列表插入到列表中 这样做肯定是不行的 你应当获取到 列表中的值 也就是列表项 再做插入操作 你先试试 不行的话 我用程序帮你做一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这里有一点逻辑错误
你想 listview的数组 包含什么?
当然是 包含listview 了 然后当众的listview 再包含你所要粘贴的值
你想 listview的数组 包含什么?
当然是 包含listview 了 然后当众的listview 再包含你所要粘贴的值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ListViewItem的第一个text直接用ListViewItemBox[0].Text,之后的才用subitem。另外,你的"ListViewItem[] ListViewItemBox = new ListViewItem[200]; ",里面的数组成员可都是类对象,貌似也需要new的吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询