Pergunta

Esta deve ser uma tarefa bastante fácil, no entanto, estou um pouco perplexo, eu tenho um controle LookUpEdit, tenho databound-lo a uma fonte de dados e definir o DisplayMember e ValueMenber corretamente.

Este controle é agora corretamente preencher.

Meu problema é que normalmente eu puxar alguns dados e, em seguida, 'set' para a ID por exemplo:

LookUpEdit.EditValue = [Alguns ID do meu banco de dados]

No entanto, neste caso particular, eu não tenho acesso ao ID, mas eu tenho acesso ao valor displymember (a partir do banco de dados), assim como faço para definir o controle LookUpEdit dado o valor DisplayMember única?

Foi útil?

Solução

Use:

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

É a maneira preferida. Usando propriedade Text é um pouco ilógico como você observou. Ele funciona agora, mas eu não ficaria surpreso se ele pára de funcionar no futuro depois de actualizar montagens DevExpress.

Outras dicas

Resolvido isso!

Se você configurá-lo da seguinte forma:

LookUpEdit .Text = [Valor da cadeia do banco de dados]

IF que valor da cadeia corresponde exatamente, então o editValue (ou seja, o ID) também é configurado corretamente para o item que você ter puxado a partir do banco de dados.

Esta propriedade 'Texto' parece um pouco ilógico (na minha opinião) (por exemplo, eles têm GetDatasourceByName etc, certamente não faria sentido ter SetItemByName ou algo semelhante!), Mas funciona em qualquer caso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top