2013-03-01 5 views
5

Ранее я задавал аналогичный вопрос, но код был намного сложнее. Этот вопрос связан с аналогичной проблемой, но код значительно упрощен. Тем не менее, даже такой простой, как этот пример, я НЕ могу получить раскрывающееся меню для предварительного выбора правильного значения.Как установить значение Selected в DevExpress LookupEdit?

У меня выпадающее меню, которое правильно заполнено w/values. Кроме того, когда я меняю раскрывающееся меню на любое из значений, а затем сохраняю свою форму, запись базы данных обновляется с правильным значением. Это много работает, но выбор правильного значения при загрузке формы не будет работать.

Я поместил эти строки в свой метод сохранения, просто чтобы посмотреть, с чем я работаю.

var test1 = _myLookupEdit.EditValue; //evaluates to 2 
var test2 = _myLookupEdit.Properties.KeyValue; //evaluates to 2 

Однако, когда я устанавливаю любой из них во время загрузки формы, ничего не происходит; в раскрывающемся списке выбрана пустая запись (а остальные значения отображаются при расширении раскрывающегося списка). Я попробовал каждый из этих методов:

_myLookupEdit.EditValue = 2; 
_myLookupEdit.Properties.KeyValue = 2; 

Edit - Я отправил комментарий ниже под ответом Платона, но я выложу его здесь. В конце концов я использовал хранимую процедуру, чтобы заполнить это раскрывающееся меню, а не Enum. С этого момента выпадающая панель загружается с правильным выбранным значением.

ответ

10

Вам необходимо установить для свойства редактора EditValue значение в соответствии с типом типа поля Свойства Properties.ValueMember. Я имею в виду, если это строковое поле, EditValue должен быть установлен на «2», а не на 2 и так далее. Это должно помочь. Если нет, попробуйте вызвать метод Properties.ForceInitialize() редактора после того, как вы установите свойство DataSource редактора.

+0

Извините, что сообщило, что имеет нулевой эффект, но я ценю помощь. – WEFX

+0

опубликуйте образец проекта, и я обновлю его для вас .... – platon

+0

Я изменил свой проект, чтобы заполнить w/хранимую процедуру, а не Enum. Баунти идет на платон для этого. – WEFX