gpt4 book ai didi

c# - ComboBox 或 ListBox 作为 Form 的索引 - 将其他控件绑定(bind)到 SelectedItem

转载 作者:行者123 更新时间:2023-11-30 12:38:22 24 4
gpt4 key购买 nike

这实际上是一个非常简单和基本的问题,如果这是一个重复的问题(肯定是),我深表歉意,但我无法在任何地方找到直接的答案,最终我认输了。

我在 Visual Studio '17 中创建了一个 Windows 窗体应用程序,创建了一个基于 SQL 服务器表的数据源,并添加了一个绑定(bind)组合框。到目前为止,一切都很好。使用 DataSource/DataSet 面板中的拖放功能,我在文本框中填充了几个字段并绑定(bind)到数据。使用自动添加的数据绑定(bind)导航器,我可以滚动表格并更新所有控件,因此我知道它们都已正确绑定(bind)。

现在,我想要完成的就是在组合框选择的值更改时更新控件。但他们没有。从我读过的内容来看,我猜测组合框需要以某种方式提醒数据源当前记录需要更新?如果是这样,我如何让它更新为组合框中的键值?或者这可能是完全错误的?我希望 VS 能为绑定(bind)控件发挥它的魔力,这样我就不必处理每个组合更改事件、查询数据库,然后更新每个控件。

我认为这是一项简单的任务;鉴于它非常基础,肯定会有直接的解释,但要么讨论的问题更复杂,要么讨论了迷宫般的数据绑定(bind)过程和对象。这是我通常的 .net 和 SQL 编码的一种副业,所以我希望只需要一个或两个直接的事件处理程序。

最佳答案

当你想设置一个像ComboBoxListBox这样的列表控件作为数据索引时:

  • 将其 DataSource 属性设置为与其他控件绑定(bind)的相同 DataSource
  • 将其 DisplayMember 设置为在组合框中显示,但您不需要设置 ValueMember
  • 不要触摸 (DataBindings)。您不需要设置数据绑定(bind)。

示例

假设您有一个 productsBindingSource,这些是绑定(bind)控件的设置:

  • idTextBox → 数据绑定(bind):Text 属性绑定(bind)到 productsBindingSourceId 属性
  • nameTextBox → 数据绑定(bind):Name 属性绑定(bind)到 productsBindingSourceName 属性
  • priceTextBox → 数据绑定(bind):Price 属性绑定(bind)到 productsBindingSourcePrice 属性

然后有一个ComboBox作为索引,这些是ComboBox的设置:

  • DataSource 属性设置为 productsBindingSource
  • DisplayMember 属性设置为 Name
  • 不要触摸 (DataBindings)。您不需要设置数据绑定(bind)。

因此,当您从 ComboBox 中选择一个项目时,绑定(bind)控件将显示所选项目并且绑定(bind)导航器也会移动:

enter image description here

关于c# - ComboBox 或 ListBox 作为 Form 的索引 - 将其他控件绑定(bind)到 SelectedItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53288313/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com