如何在DataGridView中找到具有相同值的单元格?

时间:2014-03-30 08:04:45

标签: c# datagridview datagridviewrow

我的DataGridView包含行数和列数,例如IDNameAddr等。我想在{中查找具有相同值的行{1}}列。 e.g。

Name

现在我想获得ID 1& 3基于相同的单元格值。

1 个答案:

答案 0 :(得分:1)

许多方法可以做到这一点..

您可以按名称对DataGridView进行排序,然后对其进行迭代以查找重复的名称。

或者您可以将数据读入字典,如下所示:

    Dictionary<string, List<int>> data = new Dictionary<string,List<int>>();

    foreach (DataGridViewRow row in dataGridView1.Rows)
    {
        string name = row.Cells[1].ToString();
        int ID =  Convert.ToInt32(row.Cells[0]);
        if (data.ContainsKey(name)) data[name].Add(ID);
        else data.Add(name, new List<int>(new int[] { ID }));
    }

    foreach (string name in data.Keys)
        if (data[name].Count > 1 ) 
        {
            Console.Write(name);
            foreach (int ID in data[name]) Console.Write(ID.ToString("##### "));
            Console.WriteLine();
        }

或者你可以等一个有可爱LINQ解决方案的人......