2009-05-05 166 views
0

我有一個DataGridView其中DataSource是一個BindingList。大多數列被更新 - 通過對綁定列調用PropertyChanged(「...」)的各種定時器。一列 - 有問題的一列 - 是DataGridViewComboBoxColumn - 用戶從項目列表中選擇一個項目。編輯DataGridView綁定並更新列C#

問題是DataGridViewComboBoxColumn不可用。它始終閃爍 - 顯然,當發生PropertyChanged事件時 - 以及我嘗試選擇的任何項目時,它都保持不變。

任何想法我做錯了什麼?

回答

0

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

二,你做什麼聽起來很奇怪。爲什麼在定時器上手動調用PropertyChanged()?你爲什麼不在你的類中實現INotifyPropertyChanged?

或者你可以使用一個包裝器,爲你的項目實現ICustomTypeDescriptor和INotifyPropertyChanged。在這種情況下,包裝會自動爲您的類添加INotifyPropertyChanged實現。搜索互聯網瞭解您爲什麼需要ICustomTypeDescriptor以及它如何提供幫助。

+0

那麼,我承認我正在做的事有點不可思議。我在我的課程中實現了INotifyPropertyChanged。該類還具有一個計時器,用於根據性能原因(基於配置文件結果)爲某些經常更改(每秒多次)的元素調用PropertyChanged。 就代碼示例而言,它來自大型複雜的代碼庫。我會嘗試。 – 2009-05-05 20:51:57

0

您可能遇到的一個問題是DataGridViewComboBox控件不會提交它的值更改,直到用戶移動到另一個單元格驗證該單元爲止。當通過使用CurrentCellDirtyStateChanged事件更改值時,您可以強制執行此行爲。