编辑已在C#中绑定和更新列的DataGridView

时间:2009-05-05 19:26:31

标签: c# windows winforms data-binding

我有一个DataGridView,其中DataSource是一个BindingList。大多数列都会更新 - 通过各种定时器调用PropertyChanged(“...”)作为绑定列。一列 - 有问题的一列 - 是DataGridViewComboBoxColumn - 用户从Items列表中选择一个项目。

问题是DataGridViewComboBoxColumn不可用。它一直在闪烁 - 显然当PropertyChanged事件发生时 - 无论我试图选择什么项目,它都保持不变。

知道我做错了吗?

2 个答案:

答案 0 :(得分:0)

首先,添加代码示例,以便我们更好地理解您的意思。

其次,你所做的听起来很奇怪。为什么要在计时器上手动调用PropertyChanged()?为什么不在课堂上实现INotifyPropertyChanged?

或者您可以使用包装器,为您的项目实现ICustomTypeDescriptor和INotifyPropertyChanged。在这种情况下,包装器将自动为您的类添加INotifyPropertyChanged实现。在互联网上搜索有关为什么需要ICustomTypeDescriptor及其如何提供帮助的信息。

答案 1 :(得分:0)

您可能遇到的一个问题是,在用户移动到另一个单元格验证单元格之前,DataGridViewComboBox控件不会提交它的值更改。通过使用CurrentCellDirtyStateChanged事件更改值时,可以强制执行此行为。