質問

これはかなり簡単な作業ですが、少し困惑しています。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などを持っていることは確かに理にかなっています!)が、どのような場合でも機能します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top