SelectedIndexChanged событие ComboBox - заполнить значения элемента управления - PullRequest
0 голосов
/ 02 сентября 2018

Когда происходит событие ComboBox SelectedIndexChanged, мне нужно заполнить соответствующие элементы управления его значениями. Я использую Entity Framework 6 для подхода. Я использую формы c # windows и .net Framework 4.5. Мой код:

private void comboBoxCustomer_SelectedIndexChanged(object sender, EventArgs e)
{
    using (ReliableTradersEntities entities = new ReliableTradersEntities())
    {
        m_blouse = new BLOUSE_MEASUREMENT();
        m_pardi = new PARDI_MEASUREMENT();
        m_lengha = new LHENGA_MEASUREMENT();

        var res = from c in entities.CUSTOMERs
                        join p in entities.PARDI_MEASUREMENT on c.CUSTOMERID equals p.CUSTOMERID
                        join l in entities.LHENGA_MEASUREMENT on c.CUSTOMERID equals l.CUSTOMERID
                        join b in entities.BLOUSE_MEASUREMENT on c.CUSTOMERID equals b.CUSTOMERID
                        select new 
                        {

                            p.PARDILENGTH,
                            p.PARDILIMIT,
                            p.SHOULDER,
                            p.SHOULDERTOHEAD,
                            p.HEADTOBACK,
                            p.HALFHEADROUND,
                            p.NIQABLENGTH,
                            p.KAS,
                            l.LHENGALENGTH,
                            l.LHENGALIMIT,
                            l.BELTOPTION,
                            l.ISPOCKET,
                            l.ISZIP,
                            l.STYLE,
                            l.STYLESIZE,
                            l.ALINE,
                            b.BLOUSELENGTH,
                            b.CHEST,
                            b.WAIST,
                            b.SLEEVES,
                            b.NECK,
                            b.POINT,
                            b.BLOUSEOPENING
                        };
        textBoxPL.Text = m_pardi.PARDILENGTH;
    }

}

1 Ответ

0 голосов
/ 02 сентября 2018

Вы создали анонимный тип, который возвращается в переменной res со всей информацией, извлеченной по вашему запросу. Вы не заполнили первые три экземпляра класса.

Вам нужно инициализировать ваши экземпляры, используя переменную res с

// The query returns an IEnumerable, you need to extract the first element
var x = res.FirstOrDefault();
if(x != null)
{
    m_pardi = new PARDI_MEASUREMENT();
    m_pardi.PARDILENGTH = x.PARDILENGTH;
    .... 
}

Но вы можете напрямую использовать res переменную

 var x = res.FirstOrDefault();
 if(x != null)
 {
     textBoxPL.Text = x.PARDILENGTH;
     .... and so on....
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...