Domanda

Questo dovrebbe essere un compito abbastanza semplice, tuttavia sono un po 'sconcertato, ho un controllo LookUpEdit, l'ho collegato in un database a un'origine dati e impostato correttamente displaymember e ValueMenber.

Questo controllo ora viene popolato correttamente.

Il mio problema è che normalmente estraggo alcuni dati e poi li "imposta" sull'ID, ad esempio:

LookUpEdit.EditValue = [Alcuni ID dal mio database]

Tuttavia, in questo caso particolare, non ho accesso all'ID MA ho accesso al valore displymember (dal database), quindi come posso impostare il controllo LookUpEdit dato solo il valore displaymember?

È stato utile?

Soluzione

Usa:

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

È il modo preferito. L'uso della proprietà Text è un po 'illogico come hai notato. Funziona ora, ma non sarei sorpreso se smettesse di funzionare in futuro dopo l'aggiornamento degli assembly DevExpress.

Altri suggerimenti

Risolto!

Se lo imposti come segue:

LookUpEdit .Text = [Valore stringa dal database]

IF che il valore di stringa corrisponde esattamente, quindi editValue (ovvero l'ID) è anche impostato correttamente sull'elemento estratto dal database.

Questa proprietà 'Testo' sembra alquanto illogica (a mio avviso) (ad esempio hanno GetDatasourceByName ecc., sicuramente avrebbe senso avere SetItemByName o qualcosa di simile!), ma funziona comunque.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top