(高悬赏,完成继续追加)c# 怎么比较datagridview1和datagridview2的数据,把不同的存入datagridview3

就是从datagridview1(次表,用来比较的表)和datagridview2(主表)中找出不同的数据把他统计到datagridview3,就是比较datagridv... 就是从datagridview1(次表,用来比较的表)和datagridview2(主表)中找出不同的数据
把他统计到datagridview3,
就是比较datagridview1的单元格,和datagridview2里的相单元格,如果value不同,则datagridview2列标题和当前行第一列合起来存到datagridview3第一列(这一点重要,望理解,不然后面无法进行),然后datagridview3中第二列:w(datagridview3中第一列的值)
我的datagridview格式图:

第二点:
在datagridview2中找值(找datagridview3第一列统计出来的datagridview1中的value),如果datagridview2中有此value,则datagridview3中的值为:datagridview2列标题和当前行索引(格式如:10.9)

就是这样的功能,请教大侠们怎么代码实现?
完成的越优秀,悬赏追加越高
展开
 我来答
创作者zUzVB1Sl31
2015-08-03 · 编程类资料、英语学习资料
创作者zUzVB1Sl31
采纳数:1331 获赞数:5976

向TA提问 私信TA
展开全部

第一点,回答问题并不是看上你这点积分奖励,也不是真的很高,才50,少得可怜;第二点,这无非就是个控件操作。比如我拿dv1去比较dv2完全可以直接遍历,不需要走弯路:

void invate()  //初始化
{
   List<String> li1=new List<String>{};
   List<String> li2=new List<String>{};
   List<String> li3=new List<String>{};
   for(int i=0;i<dataGridView1.Rows.Count;i++)
   {
      li1.Add(dataGridView1.Rows[i].Cells["列标题"].Value.ToString());
   }
   for(int j=0;j<dataGridView2.Rows.Count;j++)
   {
      li2.Add(dataGridView2.Rows[j].Cells["列标题"].Value.ToString());
   }
   li3=List<string> CompareListRule(li1,li2);
   for(int k=0;k<li3.Items.Count;k++)
   {
      //dataGridView3操作,你要确认dataGridView3是新增还是填写,这个代码很简单的
   }
}
private static void AddDict(Dictionary<string, int> dict, List<string> list)
{         
    foreach (var ls in list)
    {
       if (dict.Keys.Contains(ls))
       {
           dict[ls]++;
       }
       else
       {
           dict.Add(ls,1);
       }
    }
}
public static List<string> CompareListRule(List<string> leftList, List<string> rightList)
{
    var dict = new Dictionary<string, int>();
    AddDict(dict, leftList);
    AddDict(dict, rightList);
    return dict.Where(r => r.Value == 1).Select(c => c.Key).ToList();
}
追问

这一句话有错误,   li3=List<string> CompareListRule(li1,li2);

还有

  //dataGridView3操作,你要确认dataGridView3是新增还是填写,这个代码很简单的

这个很简单什么意思?绑定数据还是什么?

最后怎么调用啊?

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式