フォームが表示されているときに、初期値を表示するためにLookUpEditを取得しようとしています。私は、データソースとして国のリストをバインドして、LookUpEditで選択された項目として国を表示するフォームがロードされるときにEditValueを設定します。残念ながら、それは単に空の値を示しています。 LookUpEditが正常に動作しているように見え、国のリストをスクロールしてアイテムを選択でき、フォームを送信するとその値が返されます。DevExpress LookupEdit設定のEditValueが機能しない
国クラス:
public class Country
{
public Country();
public int CountryId {get; set;}
public string CountryName {get; set;}
public string IsoCode {get; set; }
}
LookUpEditを含むフォームの背後にあるコード:
this.country.Properties.DataSource = this.Countries;
this.country.Properties.DisplayMember = "CountryName";
this.country.Properties.ValueMember = "CountryId";
this.country.EditValue = initialCountry;
this.country.DataBindings.Add("EditValue", viewModel.Address, "AddressCountry", false, DataSourceUpdateMode.OnPropertyChanged);
この例でthis.Countries
は人口List<Country>
とinitialCountry
Country
とviewModel.Address
のインスタンスに設定されていますプロパティCountry AddressCountry
が含まれています。
私はEditValue
を直接にのみ設定し、データバインディングをそれ自身のEditValueに設定することを試みました。私が試してみると、LookUpEditはフォームがロードされるときに常に空白になり、initialCountry
に設定する必要があります。私はそれが本当にシンプルなものだと確信していますが、私はそれを見ていないので、どんな助けも大歓迎です。
回答ありがとうございます。興味深いことに、初期値が機能しましたが、フォームが送信された時点でCountryクラスのCountryIだけが正しい値に更新されました。 LookUpEditでオブジェクト全体が選択されたCountryオブジェクトに更新されることを期待していました。何か案は? – peacemaker
私は答えを更新しました –
あなたの助けてくれてありがとう! – peacemaker