代码之家  ›  专栏  ›  技术社区  ›  Abid Ali

组合框的SelectedIndexChanged事件-填充控制值

  •  1
  • Abid Ali  · 技术社区  · 7 年前

    SelectedIndexChanged 事件发生时,我需要用它的值填充相应的控件。我使用实体框架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 回复  |  直到 7 年前
        1
  •  1
  •   Steve    7 年前

    您已经创建了在变量中返回的匿名类型 物件 你的查询提取的所有信息。您尚未填充最初的三个类实例。

    物件

    // 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;
        .... 
    }
    

    但你可以直接使用 变量

     var x = res.FirstOrDefault();
     if(x != null)
     {
         textBoxPL.Text = x.PARDILENGTH;
         .... and so on....
     }