一般的做法是设置DisplayMember为业务对象(business object)的属性名。
第二种方法是使用TypeConverter来转换业务对象(business object)。你需要创建自定义的TypeConverter并重写它的ConvertTo方法。请参考以下代码:
代码:
[TypeConverter(typeof(BusinessTypeConvert))]
class BusinessObject
{
int id;
public int Id
{
get { return id; }
set { id = value; }
}
string name;
public string Name
{
get { return name; }
set { name = value; }
}
}
class BusinessTypeConvert :TypeConverter
{
public override object ConvertTo(ITypeDescriptorContext context,
System.Globalization.CultureInfo culture, object value, Type destinationType)
{
if (destinationType == typeof(string))
return ((BusinessObject)value).Name;
return base.ConvertTo(context, culture, value, destinationType);
}
}
第三种方法是重写业务对象(business object)的ToString方法,在方法中返回所希望的文本。但是由于ToString方法一般用来返回一些有关类的信息,所以这种方法是不被推荐的。