У меня есть datagridview с информацией о конкурентах. Я отображаю свойства каждого конкурента в PropertyGrid. Я хочу, чтобы некоторые из этих свойств (например, степень, город, институт) были выпадающими ящиками со значениями, взятыми из базы данных. Для этой цели я могу создать собственный TypeConvertor, подобный этому.
class DegreeTypeConverter : StringConverter
{
static string[] _valueList = { "Bachelor", "Master", "Student" };
public override bool GetStandardValuesSupported(
ITypeDescriptorContext context)
{
return true;
}
public override bool GetStandardValuesExclusive(
ITypeDescriptorContext context)
{
return true;
}
public override StandardValuesCollection GetStandardValues(
ITypeDescriptorContext context)
{
return new StandardValuesCollection(_valueList);
}
}
[TypeConverter(typeof(DegreeTypeConverter))]
public string Degree
{
get { return _degree; }
set { _degree = value; }
}
Но я хочу получить этот список значений из базы данных, и у меня есть 14 таких свойств, поэтому какой-нибудь универсальный преобразователь будет намного лучше, чем 14 преобразователей, с той лишь разницей: значениеСписок. Можно ли создать TypeConverter с переменным valueList (например, переданным в TypeConverter как параметр в конструкторе)? Или, может быть, есть другой способ иметь в PropertyGrid раскрывающийся список со списком значений переменных? Надеюсь, это было достаточно ясно Thnx заранее