Свойства управления динамическими формами - PullRequest
1 голос
/ 25 мая 2009

Я создаю форму захвата на лету на основе набора метаданных, хранящихся в схеме типа EAV.

Моя проблема заключается в загрузке данных обратно в элемент управления, в частности в комбинированный список winforms.

Также используется Entity Framework для данных, связанных с элементом управления.

  1. Проверьте, существует ли контроль, иначе создайте. для каждого сопоставленного свойства установите свои значения. то есть источник данных, DisplayMember, ValueMember и т. д. *

  2. Значение загрузки существует для свойства SelectedValue? это где не получается?

При проверке объекта кажется, что ни одно из предыдущих значений, включая источник данных, еще не загружено? Но в выпадающем списке отображаются отображаемые значения?

Вот некоторые фрагменты кода.

Type oType = Type.GetType("System.Windows.Forms.ComboBox");
if (oControlObject == null)
{
  oControlObject = (Control)Activator.CreateInstance(oType);
  oControlObject.Tag = item;
  oControlObject.CreateControl();
}

...Loop to set Datasource, DisplayMember & ValueMember ...

if (property.IsReadProperty.Value && value != null)
{
  PropertyInfo propSet = oType.GetProperty(property.PropertyName); //PropertyName here is "SelectedValue"
  propSet.SetValue(oControlObject, value.Value, null);
}

1 Ответ

0 голосов
/ 29 мая 2009

Получил это работает. Проблема заключается в том, что элемент управления не инициализируется до тех пор, пока он не будет отображен в форме, следовательно, нет коллекции элементов, даже если источник данных установлен.

Сначала создайте динамическую форму, а затем заполните значения сохранения, повторяя элементы управления снова ... не элегантно, но это работает, пока у меня нет другого решения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...