簡體   English   中英

ComboBox 的 SelectedIndexChanged 事件 - 填充控件值

[英]SelectedIndexChanged event of ComboBox - populate control values

當 ComboBox SelectedIndexChanged事件發生時,我需要用其值填充相應的控件。 我正在使用實體框架 6 作為方法。 我正在使用 c# windows 窗體和 .net 框架 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;
    }

}

您已經創建了一個匿名類型,該類型在變量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....
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM