DevExpress LookUpEditの問題
-
22-07-2019 - |
質問
これはかなり簡単な作業ですが、少し困惑しています。LookUpEditコントロールがあり、データソースにデータバインドして、displaymemberとValueMenberを正しく設定しています。
このコントロールは現在正しく設定されています。
私の問題は、通常、いくつかのデータを取得してから、IDに「設定」することです。例:
LookUpEdit.EditValue = [データベースの一部のID]
ただし、この特定のケースでは、IDにアクセスできませんが、displymember値(データベースから)にアクセスできるので、displaymember値のみを指定してLookUpEditコントロールを設定するにはどうすればよいですか?
解決
使用:
lookUp.EditValue = lookUp.Properties.GetKeyValueByDisplayText(yourDisplayText);
それは好ましい方法です。ご指摘のとおり、Textプロパティの使用は少し非論理的です。現在は動作しますが、DevExpressアセンブリをアップグレードした後に将来動作しなくなっても驚かないでしょう。
他のヒント
解決しました!
次のように設定した場合:
LookUpEdit .Text = [データベースの文字列値]
IF 文字列値が完全に一致する場合、editValue(つまりID)もデータベースからプルしたアイテムに正しく設定されます。
このプロパティ「Text」はやや非論理的です(私の見解では)(たとえば、GetDatasourceByNameなどがあるため、SetItemByNameなどを持っていることは確かに理にかなっています!)が、どのような場合でも機能します。
所属していません StackOverflow