Загрузите элементы таблицы в Combobox - PullRequest
0 голосов
/ 06 января 2020

Я хочу загрузить элементы таблицы (из базы данных) в выпадающий список. К сожалению, следующий код не загружает элементы

<ComboBox   Margin="209,283,51,160" Name="Nazwa_menagera" ItemsSource="{Binding GetMenagerzyComboboxItems}"
                      SelectedValuePath="Key"
                      SelectedValue="{Binding Path=IdMenagera, Mode=TwoWay}"
                      DisplayMemberPath="Value"/>

private ATMAEntities atmaEntites;

  public IQueryable<ComboboxKeyAndValue> GetMenagerzyComboboxItems()
            {
                return
                    (
                        from menagerzy in atmaEntites.Menagerzy
                        select new ComboboxKeyAndValue
                        {
                            Key = menagerzy.idMenagera,
                            Value = menagerzy.nazwa + " " + menagerzy.imie + " " + menagerzy.nazwisko,
                        }
                    ).ToList().AsQueryable();
            }
public class ComboboxKeyAndValue
    {
        public int Key { get; set; }
        public string Value { get; set; }
    }

1 Ответ

0 голосов
/ 06 января 2020

Невозможно привязать методы, это должно быть свойство. И вы также не можете связываться с IQueryable (насколько я знаю, по крайней мере).

Некоторые небольшие изменения, которые могут заставить его работать на вас (учитывая, что у вас правильно настроен DataContext):

public IEnumerable<ComboboxKeyAndValue> MenagerzyComboboxItems
{
    get
    {
        return
        (
            from menagerzy in atmaEntites.Menagerzy
            select new ComboboxKeyAndValue
            {
                Key = menagerzy.idMenagera,
                Value = menagerzy.nazwa + " " + menagerzy.imie + " " + menagerzy.nazwisko,
            }
        ).ToList();
    }
}

и изменение привязки ItemsSource на

ItemsSource="{Binding MenagerzyComboboxItems, Mode=OneWay}"

. Для лучшего взаимодействия с пользователем вам, вероятно, следует вместо этого извлекать данные асинхронно и публиковать sh их для представления, используя INotifyPropertyChanged и / или через ObservableCollection.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...