Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在C中计算Datagridview中的重复项_C#_Winforms_Datagrid - Fatal编程技术网

C# 如何在C中计算Datagridview中的重复项

C# 如何在C中计算Datagridview中的重复项,c#,winforms,datagrid,C#,Winforms,Datagrid,怎么做 我已在以下文件中编写了此代码: 但是如何修改它来计算datagridview中的重复项呢?例如datagridview1[7,i],其中i是datagriview中的行数 编辑 现在我的代码是这样的: var list = dataGridView1.Rows.OfType<DataGridViewRow>() .GroupBy(x => x.Cells["TestValues"].Value) .Select(g => n

怎么做

我已在以下文件中编写了此代码:

但是如何修改它来计算datagridview中的重复项呢?例如datagridview1[7,i],其中i是datagriview中的行数

编辑

现在我的代码是这样的:

      var list = dataGridView1.Rows.OfType<DataGridViewRow>()
       .GroupBy(x => x.Cells["TestValues"].Value)
       .Select(g => new { Value = g.Key, Count = g.Count(), Rows = g.ToList() })
       .OrderByDescending(x => x.Count);

        var q = from x in list
                group x by x into g
                let count = g.Count()
                orderby count descending
                select new { Value = g.Key, Count = count };

        foreach (var x in q)
        {
           // dataGridView1[7, x].Value.ToString();

            MessageBox.Show("Value: " + x.Value + " Count: " + x.Count +"Rows: " );

        }

像这样的方法应该会奏效:

var list = myDataGridView.Rows.OfType<DataGridViewRow>()
           .Select(x => x.Cells["MYCOLUMN"].Value.ToString());
var q = from x in list
    group x by x into g
    let count = g.Count()
    orderby count descending
    select new { Value = g.Key, Count = count };
因此,如果您有5行,例如:

ID     MYCOLUMN
 0         A
 1         B
 2         C
 3         A
 4         B   
q将包含3个元素:

 Key="A", Count=2, Rows={ [0 - A] [3 - A]}
 Key="B", Count=2, Rows={ [1 - B] [4 - B]}
 Key="C", Count=1, Rows={ [2 - C] }

Tnx,这是有效的:但有可能知道每行中都发生了重复吗?@Elfoc:检查我的编辑是否是您需要的。可能有一些语法错误,因为我没有测试itI。我收到消息:Value:{Value=Test1,Count=3,Rows=System.Collections.Generic.List'1[System.Windows.Forms.DataDgridViewRow]}计数:1//在我的topic@Elfoc:对不起,我忘了提到我的上一个代码已经包含了第二个查询,它基本上返回了你所说的q。您不需要对结果进行分组。
ID     MYCOLUMN
 0         A
 1         B
 2         C
 3         A
 4         B   
 Key="A", Count=2, Rows={ [0 - A] [3 - A]}
 Key="B", Count=2, Rows={ [1 - B] [4 - B]}
 Key="C", Count=1, Rows={ [2 - C] }