如何保持两个ListView的数据相同。
listView1,listView3初始化时是相同的,listView2为空。
当把listView1的某条数据删除时,也把listView3中的同一条数据删除,
同时保存在listView2中。
private void Add()
{
int count = 0;
try
{
count = listView1.SelectedItems.Count;
for(int i=0;i<count ;i++)
{
ListViewItem li = listView1.SelectedItems[i];
listView1.Items.Remove(li);//把listView1要删除的
listView2.Items.Add(li);//数据保存到listView2中
listView3.Items.Remove(li);
}
}
}
----------------
现在出现的问题是 listView3删除的数据和listView1不是同一条数据?
为什么?有没有更好的办法?
listView1,listView3初始化时是相同的,listView2为空。
当把listView1的某条数据删除时,也把listView3中的同一条数据删除,
同时保存在listView2中。
private void Add()
{
int count = 0;
try
{
count = listView1.SelectedItems.Count;
for(int i=0;i<count ;i++)
{
ListViewItem li = listView1.SelectedItems[i];
listView1.Items.Remove(li);//把listView1要删除的
listView2.Items.Add(li);//数据保存到listView2中
listView3.Items.Remove(li);
}
}
}
----------------
现在出现的问题是 listView3删除的数据和listView1不是同一条数据?
为什么?有没有更好的办法?
解决方案 »
- VS2003+Developer Express .NET v3的项目在VS2005+Developer Express .NET v8.3编译出错
- webBrowser
- WinForm剪切板格式问题
- CookieContainer.Add出错????????????
- c#運行時創建控件和事件處理程序...請教?
- sql server中,用SQL语句,如何把一个表中的数据,插入到另一个表中?SQL语句中是如何循环的?
- C#调用VC++的DLL函数,参数问题
- (急)请问如何将winform的程序和web应用程序联系起来?
- C# 源数组长度不足。请检查 srcIndex 和长度以及数组的下限。
- C#读取XML档案
- 异步调用问题
- treeview控件重装系统后不能用了,项目急需上交,火线急热......
listView1.Items.Remove(li);//把listView1要删除的
listView3.Items.Remove(li);
这两个中的li是不是一样的!~~
1、用代码控制,在删除数据的时候用Index,不要用ListViewItem
先建一个类,比如CollectionBaseEx,继承CollectionBase和ICloneable
然后定义委托
在override他的OnRemoveComplete和OnInsertComplete方法的时候发事件出去然后在建一个你需要的数据类,继承CollectionBaseEx,把你需要的数据添加到List中
删除或者增加的时候,改变List
这样你就可以在OnRemoveComplete和OnInsertComplete事件中操作你的两个ListView了,保持一致
listView3.Items.Remove(li);
这两个中的li是不是一样的!~~
-------------------
li的值是一样的。