2009-02-04 43 views
7

我有一個表格,說1640項。我設置了如何在BindingSource.Filter之後獲取DataGridView的可視行數?

bindingSource.Filter = "some filter query string"; 

並且大部分行消失了,例如400行。我希望能夠告訴用戶「Showing 400 of 1640 items」,因爲他們點擊了一些文本框,這些文本框會更改過濾器字符串,因此哪些行可以在dataGridView對象中看到(很像iTunes,但是用於醫療數據,而不是流派/藝術家/專輯過濾歌曲)。

我試過bindSource.Count,無論過濾器字符串設置爲什麼(儘管顯示的行數少於所需的數量),它總是1640。我嘗試遍歷dataGridView.Rows中的所有行,並只計算可見的行,但仍然總計爲1640.

我在哪裏可以獲得此信息?

請注意,我沒有使用SQL,但bindingSource.DataSource是來自DataView的DataSource,它包裝在DataTable(從XML讀取的數據集)中。

+0

我有一個代碼沒有被調用,除了一開始就有一個錯誤!哎呀!至少有兩種方法來查找計數。看到我的答案。 – 2009-02-06 20:06:09

回答

1

如何在單獨的DataTable中添加過濾項目並對已過濾的項目進行計數。

3

Jared,

我最近不得不做這件事情。我應用過濾器後,使用DataGridView.Rows.Count屬性對我有效。

您是否將數據源設置爲BindingSource或DataGridView的DataSource屬性?它應該是BindingSource。

HTH -Jay

+0

這工作得很好! – TWood 2014-02-04 16:18:38

1

我搞砸別的東西了。周杰倫是正確的:

dataGridViewCases.Rows.Count 

作品,一樣:

bindingSource.Count 
14

試試這個:datagridviewname.Rows.GetRowCount(DataGridViewElementStates.Visible);

+1

感謝這幫助 – user3813249 2014-08-12 19:18:13

0

你只需要使用您的BindingSource的Count屬性...

ExampleBindoneSource.Count() 
相關問題