在winforms中使用数据绑定时获取和设置选择的最佳方法是什么?

时间:2009-04-08 15:50:35

标签: .net winforms data-binding

我在win-forms应用程序(.Net 2.0)中使用绑定,并尝试找到在数据绑定控件中维护所选项的最佳方法。我读到访问选择的最佳方式是使用CurrencyManager(或bindingSource)的“Current”和“Position”属性。问题是我无法找到一种方法来选择任何东西(Position的值将始终设置为列表中某个项的索引),并且也无法知道是否存在选择了很多项目。 有没有办法使用CurrencyManager来解决这些问题,还是应该开始使用控件提供的属性(例如DataGridView的SelectedRows属性)?

谢谢!

2 个答案:

答案 0 :(得分:0)

我不完全确定你在这里问的是什么。如果您正在询问如何将详细控件绑定到列表控件或网格中的选定项,我认为最好的方法是使用两个BindingSource对象。网格绑定的一个和细节控件绑定的一个。然后,当用户选择网格中的行时,使用详细信息BindingSource的Filter属性将其缩小到选定的一行。然后,您将确保所选行的详细信息显示在控件中。

例如:

  DetailBindingSource.Filter = "ID = " & SelectedRow.IDColumn.Value

如果这不是您想要的,请进一步解释。

编辑:

好的,我为不理解原始问题而道歉。我会说使用控件的属性是最好的方法。将SelectedRow / SelectedItem属性设置为所需的项目。

更改绑定源的当前位置可能会影响其他控件的值,例如我最初提到的详细控件。

答案 1 :(得分:0)

令人难以置信的是BindingSource仍然无法选择。