2016-02-27 121 views
0

我已綁定數據網格視圖和組合框我的表(這是由實體框架管理)更新不顯示文本:組合框的數據源綁定時,數據在數據網格視圖

eraDataGridView.DataSource = BillContext.Eras.Local.ToBindingList(); 
eraComboBox.DataSource = BillContext.Eras.Local.ToBindingList(); 
eraComboBox.DisplayMember = "Name"; 

和我已經創建了一個保存按鈕的數據網格視圖:

private void saveEras_Click(object sender, EventArgs e) { 
    BillContext.SaveChanges(); 
    saveEras.Enabled = false; 
} 

當我插入一個新行到數據網格圖;如果我在完成編輯行之後選擇另一行(通過單擊另一行,按Tab或Enter鍵),然後單擊保存按鈕,所有操作都按預期工作,但如果按保存按鈕而不更改行;組合框將有一個沒有文本的新項目(這是新行但沒有文本)。

如何使組合框在所描述的場景中顯示新添加的行的文本?任何解決方法,將不勝感激。

+0

如果您創建一個新的行,但不改變它,那麼它將代表一個新的,但空項目,將在'ComboBox'得到明顯顯示,正是因爲它是 - 爲空值。或者我錯過了什麼?如果你想避免這種行爲,那麼你應該在保存更改之前過濾並從'saveEras_click'處理程序中的底層集合中刪除這樣的空項目。你也可以嘗試一些包裝器集合,它將過濾這些項目的組合框,但空的項目仍然會到達數據庫。 –

+0

我認爲這是顯而易見的,但在我描述的情況下,我改變行但顯示空文本或顯示我寫的文本取決於編輯後選擇另一行或不選擇另一行並保存 – raven

+0

也許你的項目做沒有實現INotifyProperyChanged? –

回答

0

在我的DAO類中實現INotifyPropertyChanged解決了這個問題。 more info