2015-10-13 88 views
1

DataGridView我需要统计列有多少重复的值。如何统计列datagridview列中的值

这是我的DataGridView:

enter image description here

例如,我想我算多少“X”有我“RisFin”栏目,并把结果在一个文本框。

+0

使用linq查询,你可以简单地使用你的网格做很多事情。关键是使用Cast ()'将'Rows'集合转换为'IEnumerable ',那么您可以使用linq在其中执行任何查询。 –

+0

@Marci让我知道如果您对答案有任何疑问,或者您觉得有用,您可以点击答案附近的复选标记以使其被接受。这样它对其他用户也会更有用。 –

回答

1

你可以指望你所需要的是这样的:

var count= this.dataGridView1.Rows.Cast<DataGridViewRow>() 
       .Count(row => row.Cells["RisFin"].Value.ToString() == "X"); 

this.textBox1.Text = count.ToString(); 

使用LINQ查询,你可以简单地做很多事情与你的网格。关键点是使用Cast<DataGridViewRow>()Rows集合转换为IEnumerable<DataGridViewRow>,然后您可以使用linq执行任何查询。

+1

不要忘记添加'使用System.Linq;' –

+0

感谢您的回答:) – Marci

+0

不客气:) –

0

那么,如果row.Cells[0]为“X”,则可以遍历行并递增计数变量。这是一个LINQ解决方案。

int xCount = dataGridView.Rows 
       .Cast<DataGridViewRow>() 
       .Select(row => row.Cells["RisFin"].Value.ToString()) 
       .Count(s => s == "X"); 
+0

感谢您的回答:) – Marci

+0

我很高兴能帮助你:) –