【问题标题】:How to get the name of bindingsource which is currently binding to a control如何获取当前绑定到控件的 bindingsource 的名称
【发布时间】:2018-09-24 22:25:47
【问题描述】:

我有一个文本框,我将 bindingsource 作为数据绑定添加到其中,然后我想获取 bindingsource 的名称,在下面的示例中,bindingsource 名称是“bindingSource1”。如何做到这一点?因为我有很多绑定源,有时我更改了文本框的数据绑定,所以我需要检查当前绑定到它的绑定源的名称。谢谢。

textBox1.DataBindings.Add("Text", bindingSource1, "Address", True)

【问题讨论】:

  • 没有名称,在您的示例代码中,bindingSource1 将分配给可以接收任何Object 的绑定的Binding.DataSource Property,因此它是对Object 的引用。此属性是只读的,不能更改。您只能在控件中添加或删除 Binding。要确定 DataSource 身份,您需要进行引用相等比较。
  • 在这种情况下如何进行引用相等比较,你能告诉我示例代码吗?
  • @TnTinMn 好吧,[Control].DataBindings[0].PropertyName 将是“文本”,[Control].DataBindings[0].MemberInfo 将是“地址”,[Control].DataBindings[0].BindingManagerBase.Current 将是提供绑定的对象(基类)(“所有者”绑定的属性)。
  • 非常感谢 cmets,这是我需要做的:如果 textBox1.DataBindings(0).DataSource Is bindingSource1 Then .... End If
  • @Bens 回答您自己的问题并接受它以将此问题标记为已回答,谢谢!

标签: vb.net bindingsource


【解决方案1】:

谢谢你们,因为你们的cmets,我终于知道如何实现我的目标了,这就是我需要做的:

如果 textBox1.DataBindings(0).DataSource 是 bindingSource1 那么

'做的工作

如果结束

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-18
    • 2019-12-17
    • 1970-01-01
    • 2016-11-02
    • 2020-04-25
    • 1970-01-01
    • 2020-04-02
    • 2017-09-09
    相关资源
    最近更新 更多