我的DataGridView
包含行数和列数,例如ID
,Name
,Addr
等。我想在{中查找具有相同值的行{1}}列。
e.g。
Name
现在我想获得ID 1& 3基于相同的单元格值。
答案 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解决方案的人......