我有一张1640件物品的桌子。我设置了
bindingSource.Filter = "some filter query string";
并且大多数行都会消失,比如400行。我希望能够告诉用户“显示400个1640个项目”,因为他们点击了一些文本框,这些文本框更改了过滤字符串,因此哪些行在dataGridView对象中可见(很像iTunes,但对于医疗数据,不是流派/艺术家/专辑过滤歌曲)。
我尝试使用bindingSource.Count,无论Filter字符串设置为什么,它总是1640(即使根据需要显示的行数少得多)。我尝试循环遍历dataGridView.Rows中的所有行,并仅计算可见的行,但仍然总计为1640。
我在哪里可以获得这些信息?
请注意,我没有使用SQL,但bindingSource.DataSource是DataView中的DataSource(来自从XML读取的数据集)。
答案 0 :(得分:17)
试试这个:datagridviewname.Rows.GetRowCount(DataGridViewElementStates.Visible);
答案 1 :(得分:3)
贾里德,
我最近不得不做这件事。在我应用过滤器后,对我有用的是使用DataGridView.Rows.Count属性。
您是否将数据源设置为BindingSource或DataGridView的DataSource属性?它应该是BindingSource。
HTH -Jay
答案 2 :(得分:1)
如何在单独的DataTable中添加过滤的项目并对过滤的项目进行计数。
答案 3 :(得分:1)
我把其他东西搞砸了。杰伊是对的:
dataGridViewCases.Rows.Count
同样有效:
bindingSource.Count
答案 4 :(得分:0)
你只需要使用bindingSource的Count属性......
ExampleBindoneSource.Count()