DevExpress Grid中ComboBoxEdit的使用


最近有一個程序需要在一個DevExpress的Grid中使用ComboBoxEdit,同時需要初始化好枚舉值。

我之前有定義一個類專門用作於ComboBox.Items的項

/// <summary>
/// 選擇項類,用於ComboBox或者ListBox添加項
/// </summary>
public class ListItem
{
private string id = string.Empty;
private string name = string.Empty;
private object tag = null;

public ListItem(string sid, string sname)
{
id = sid;
name = sname;
}

public ListItem(string sid, string sname,object otag)
{
id = sid;
name = sname;
tag = otag;
}

public override string ToString()
{
return this.name;
}

public string Id
{
get
{
return this.id;
}
set
{
this.id = value;
}
}

public string Name
{
get
{
return this.name;
}
set
{
this.name = value;
}
}

public object Tag
{
get {
return this.tag;
}
set
{
this.tag = value;
}
}
}

 

但是如下使用時,選擇后會拋出一個對象必須實現 IConvertible的錯誤

注: prop_values是一個List<ListItem>對象

 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;
}




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM