昨天,我就Listview控件中数据添加时出现了一些问题,具体问题记载详情看这篇博文:http://blog.youkuaiyun.com/oversea_zone/article/details/59112700
昨天我一直尝试在解决这个问题,但无果,在朋友的提醒下,我得到了一个新思路,那就是:存储传进来的项Lv可能存有多个值,也就是说:程序将我前几次点击的值一一存储进了Lv这个ListviewItem对象中,从而导致在进行对比时,出现紊乱的情况。
于是就这个问题,我在循环体的两个部分中添加了一句代码,即:Lv=null;意指无论是不是重复项,在处理完后都要讲其清空以便存储下一个传进来的对象。
可是,还是没能够解决问题,仍然出现了数据重复。
今天,我决定重新来解决这个问题。在代码的调试运行中,我发现一个问题,那就是:列表框中已经存在两项主键分别为79和80,当我再次传进80这个项时,系统是默认先将80跟79进行对比,发现不相等即将这个重复项添加了进来。
让我们再看看这段还未修改的代码:
private void GeometrySelcted(object sender, EventArgs e) //填写申报信息代码 第6步:事件处理程序
{
frme = (subEventArgs)e;
ListViewItem lv = new ListViewItem();
soGeoPoint point = (soGeoPoint)frme.subrecordset.GetGeometry();
lv.SubItems[0].Text = frme.subrecordset.GetID().ToString();
lv.SubItems.Add(point.x.ToString());
lv.SubItems.Add(

本文记录了解决C#中Listview控件在动态添加数据时遇到的数据重复问题。作者通过分析错误原因,发现程序在对比新数据与已有数据时存在逻辑错误。为解决此问题,作者提出了新的判断策略,使用两个bool变量标记相同和不同的情况,确保遍历完整个列表后再决定是否添加新数据。通过调整代码逻辑,成功避免了数据重复的出现。
最低0.47元/天 解锁文章
2029

被折叠的 条评论
为什么被折叠?



