none
如何枚举窗体中的BindingSource? RRS feed

  • 问题

  • 在窗体中,有多个BindingSource,保存数据时,需要先将它们分别 EndEdit(),如何枚举它们,构造类似如下语句:

                For Each bs As BindingSource In ??
                    bs.EndEdit()
                Next


    韩立学
    2011年1月29日 1:09

答案

  • 无法这么智能,我们只能自己增加List<T> 或者一些泛型集合来保存,或者用Dictionary<Key,Value>也行。自己手动增加和遍历。还有,如果要手动的控制BindingSource的话,就不建议在设计时进行创建BindingSource,尽可能地用代码来写。

    Sincerely,


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • 已标记为答案 大海怪 2011年2月7日 8:26
    2011年2月7日 7:42
    版主

全部回复

  • 你好,

    你可以枚举所有窗体上控件的 DataBindings 属性来拿到所有的 Binding 对象;但这个可能不是你想要的BindingSource。还有种方法,你可以自己实现一个集合来保存所有的BindingSource对象。然后直接遍历你的集合,这样子会比较直接。

    Sincerely,


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年1月31日 8:37
    版主
  • 谢谢!能告诉我如何添加一个集合属性,来保存所有的BindingSource对象吗?

    若能自动获取最好,因为,在设计时,各个BindingSource对象就存在了。


    韩立学

    2011年2月5日 1:59
  • 无法这么智能,我们只能自己增加List<T> 或者一些泛型集合来保存,或者用Dictionary<Key,Value>也行。自己手动增加和遍历。还有,如果要手动的控制BindingSource的话,就不建议在设计时进行创建BindingSource,尽可能地用代码来写。

    Sincerely,


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • 已标记为答案 大海怪 2011年2月7日 8:26
    2011年2月7日 7:42
    版主