1、最近有一个程序需要在一个 DevExpress 的 Grid 中使用 ComboBoxEdit,同时需要初始化好枚举值。我之前有定义一个类专门用作于 ComboBox.Items 的项/ / 选择项类,用于 ComboBox 或者 ListBox 添加项/ public class ListItemprivate string id = string.Empty;private string name = string.Empty;private object tag = null;public ListItem(string sid, string sname)id = sid;name =
2、 sname;public ListItem(string sid, string sname,object otag)id = sid;name = sname;tag = otag;public override string ToString()return this.name;public string Idgetreturn this.id;setthis.id = value;public string Namegetreturn this.name;setthis.name = value;public object Tag get return this.tag;setthis
3、.tag = value; 但是如下使用时,选择后会抛出一个对象必须实现 IConvertible 的错误注: prop_values 是一个 List对象RepositoryItemComboBox editor = pgProperty.RepositoryItems.Add(“ComboBoxEdit“) as RepositoryItemComboBox;editor.Items.AddRange(prop_values.ToArray();查阅了资料后发现,RepositoryItemComboBox 中的项需要实现 IConvertible 接口,否则的话要用如下语句来解决:editor.ParseEditValue += new ConvertEditValueEventHandler(repositoryItemComboBox_ParseEditValue);void repositoryItemComboBox_ParseEditValue(object sender, ConvertEditValueEventArgs e)e.Value = e.Value.ToString();e.Handled = true;