Вопрос

Это должно быть довольно простой задачей, однако я немного в тупике, у меня есть элемент управления LookUpEdit, я привязал его к источнику данных и правильно установил displaymember и ValueMenber .

Теперь этот элемент управления заполняется корректно.

Моя проблема в том, что обычно я извлекаю некоторые данные, а затем "устанавливаю" им идентификатор, например:

LookUpEdit.EditValue = [Некоторый идентификатор из моей базы данных]

Однако В данном конкретном случае у меня нет доступа к идентификатору, НО у меня есть доступ к значению displaymember (из базы данных), так как же мне установить элемент управления LookUpEdit только с учетом значения displaymember?

Это было полезно?

Решение

Использование:

lookUp.EditValue = lookUp.Properties.GetKeyValueByDisplayText(yourDisplayText);

Это предпочтительный способ.Использование текстового свойства немного нелогично, как вы заметили.Сейчас это работает, но я не удивлюсь, если оно перестанет работать в будущем после обновления сборок DevExpress.

Другие советы

Решил это!

Если вы установите его следующим образом:

LookUpEdit .Text = [строковое значение из базы данных]

ЕСЛИ это строковое значение точно совпадает, тогда editValue (то есть идентификатор) также правильно устанавливается для элемента, который вы извлекли из базы данных.

Это свойство 'Text' кажется несколько нелогичным (на мой взгляд) (например, у них есть GetDatasourceByName и т. д., конечно, имеет смысл иметь SetItemByName или что-то подобное!), но оно работает в любом случае.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top