1

データベースからデータを取り込むコンボ ボックスがあります。これは、リスト ボックスの選択に基づいて、SQL クエリを介して特定のリスト ボックス内のデータを取り込みます。問題は、表示メンバー プロパティが表示されないことです。バックエンド SQL は表示しません。これは正常に機能し、リスト ボックスには表示メンバーだけではなく実際に値が入力されるためです。したがって、リスト ボックスのデータは空白です。

コードは次のとおりです。

コンボボックスの方法:

private void populateFromMedication()
{
    MedicationList medicationItem = new MedicationList();

    // if item is selected
    if( !( ( Locations )cmbLocationDescriptionList.SelectedItem == null ) )
    {
        // set location to be the seletect location from the combo
        location = ( Locations )cmbLocationDescriptionList.SelectedItem;

        List<MedicationList> fromMedicatitionList = new List<MedicationList>();
        // retrieve a list of medication from the database
        fromMedicatitionList = LocationData.RetrieveMedicationByLocation( location.LocationID, GlobalVariables.SelectedResident.ResidentID );
        //bind the list for to the medication list
        lstMedicationForCurrentLocation.ItemsSource = fromMedicatitionList;

        lstMedicationForCurrentLocation.DisplayMemberPath = "Description";        
    } 
}

フォームの初期化時:

public FormInitialize()
{
    InitializeComponent();
    LoadData();
    LoadResidentData();
    populateFromMedication();
}

MedicationList クラス:

           public class MedicationList
{

    public int MedicationID { get; set; }



    public string Description
    {
        get
        {
            return Description;
        }
        set
        {
            Description = value;
            OnPropertyChanged( "Description" );
        }
    }
}
4

1 に答える 1

1

それを確認する必要があります

1)MedicationList名前によるプロパティがあり、DescriptionそのOnPropertyChangedセッターに適用されます。

string _Description;
public string Description
{
    get
    {
        return _Description;
    }
    set
    {
        _Description = value;
        OnPropertyChanged("Description");
    }
}

OnPropertyChanged の詳細については、これをお読みください

2) 与えるDisplaymember前に与えてみてくださいItemsource

于 2013-07-26T15:15:34.150 に答える