2015-10-13 48 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

我很高興能幫助你:) –