BindingSource过滤和查询

时间:2013-10-04 22:23:26

标签: vb.net bindingsource

我过滤了我的BindingSource,并且可以在绑定的gridview控件中注意到结果很好......但是当我手动迭代时,我没有得到预期的结果。这是代码:

    CollectorAlertsBindingSource.Filter = "CollectorAlert_Name='" & nameCA & "'"
    Me.CollectorAlertsTableAdapter.Fill(Me.PWDS.CollectorAlerts)

    Dim CARows As DataRow

    For Each CARows In PWDS.CollectorAlerts.Rows
        txtCollectorAlertName.Text = CARows("CollectorAlert_Name").ToString
        txtTimedInterval.Text = CARows("CollectorAlert_TriggerInterval").ToString
    Next

我可以告诉我何时单步执行ROWS.Count = 3的代码。表中总共有3行,但过滤器应该将其过滤为1.我确定我在查看这完全错了,所以我需要一些帮助。

我做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

您过滤了BindingSource,但之后您没有使用它 - 您直接从数据表中提取行。当你应用一个过滤器时,bs实际上是通过它自己的DataView过滤的(这是一个位于数据表顶部的层。你可以在调试器中看到它作为bs的'syncroot'属性。)表本身仍然包含其中的所有行。