3

これはかなり簡単な作業ですが、少し困惑しています。LookUpEdit コントロールがあり、それをデータソースにデータバインドし、displaymember と ValueMenber を正しく設定しました。

このコントロールは正しく設定されるようになりました。

私の問題は、通常、いくつかのデータを取得してから、ID に「設定」することです。

LookUpEdit.EditValue = [データベースからの ID]

ただし、この特定のケースでは、ID へのアクセス権はありませんが、(データベースからの) displymember 値へのアクセス権はあります。したがって、displaymember 値のみを指定して LookUpEdit コントロールを設定するにはどうすればよいでしょうか?

4

2 に答える 2

7

使用する:

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

好ましい方法です。ご指摘のとおり、 Text プロパティの使用は少し非論理的です。現在は機能していますが、DevExpress アセンブリをアップグレードした後、将来機能しなくなっても驚かないでしょう。

于 2009-08-05T08:34:18.693 に答える
0

解決しました!

次のように設定した場合:

LookUpEdit .Text = [データベースからの文字列値]

その文字列値が正確に一致する場合、 editValue (つまり ID) も、データベースから取得したアイテムに正しく設定されます。

このプロパティ 'Text' は (私の見解では) やや非論理的に思えます (たとえば、GetDatasourceByName などがありますが、SetItemByName などを使用することは理にかなっています!) が、どのような場合でも機能します。

于 2009-08-04T16:10:27.893 に答える