2011-03-21 30 views
1

我得到了一個枚舉是顯示成員需要嗎?

public enum colorStatus 
{ 
    green= 1, 
    blue= 2, 
    orange= 3, 
} 

當我把它綁定到datagridviewcombobox,它可以完美運行。

((DataGridViewComboBoxColumn)dgSale.Columns["color"]).DataSource 
      = Enum.GetValues(typeof(colorStatus)); 

問題:
1)什麼是DisplayMember and ValueMember,我應該爲datagridviewcombobox設置?

回答

3

當您沒有指定DisplayMember/ValueMember時,控件使用ToString方法來格式化對象,這會給enum提供合理的行爲。

如果你顯示更復雜的對象,你可以使用DisplayMember指定應該如何對象在下拉列表中顯示(ToString並不總是返回有用的信息)。

例如,如果你有類NameID,你可以設置DisplayMemberName - 那麼組合框將顯示你的對象的名稱。如果您還將ValueMember設置爲ID,則可以使用組合框的SelectedValue來獲取當前所選對象的ID