2013-03-01 9 views
5

私はこれまで同様の質問をしましたが、コードははるかに複雑でした。この質問にも同様の問題がありますが、コードは大幅に簡素化されています。それでも、この例のように単純な場合でも、ドロップダウンを取得して正しい値を事前に選択することはできません。DevExpress LookupEditでSelected値を設定するにはどうすればよいですか?

値が正しく入力されたドロップダウンがあります。また、ドロップダウンを任意の値に変更してからフォームを保存すると、データベースレコードが正しい値で更新されます。これほど多くは機能していますが、フォームの読み込み時に正しい値を選択することはできません。

私はこれらの行を私の保存メソッドに入れています。これは私が働いているものを見るためです。

var test1 = _myLookupEdit.EditValue; //evaluates to 2 
var test2 = _myLookupEdit.Properties.KeyValue; //evaluates to 2 

ただし、フォームのロード時にこれらのいずれかを設定すると、何も起こりません。ドロップダウンに空白のエントリが選択されています(ドロップダウンを展開すると残りの値が表示されます)。 - 私はプラトンの答えの下に以下のコメントを掲示し、私はここにもそれを投稿します

_myLookupEdit.EditValue = 2; 
_myLookupEdit.Properties.KeyValue = 2; 

編集:私は、これらの各方法を試してみました。私は最終的に、代わりに列挙型ではなく、このドロップダウンに値を代入するためにストアドプロシージャを使用しました。その時点から、ドロップダウンは正しい選択された値でロードされました。

答えて

10

エディタのEditValueプロパティを、エディタのProperties.ValueMemberフィールドタイプのタイプに応じた値に設定する必要があります。つまり、これが文字列フィールドの場合、EditValueは2ではなく2に設定する必要があります。これは助けになるはずです。そうでない場合は、エディタのDataSourceプロパティを設定した後、エディタのProperties.ForceInitialize()メソッドを呼び出してみてください。

+0

ご迷惑をおかけして申し訳ありませんが、効果はありませんでしたが、私は助けに感謝します。 – WEFX

+0

サンプルプロジェクトを投稿してください... – platon

+0

Enumの代わりにストアドプロシージャを使用してプロジェクトを作成しました。バウンティは努力のためにplatonに行く。 – WEFX

関連する問題