View Full Version : نمایش یک فیلد در کمبوباکس با ef
  
programerinfonet
دوشنبه 11 فروردین 1393, 11:27 صبح
سلام دوستان من دو تا فیلد دارم
name
id
میخوام تمام نام ها در کمبوباکس نمایش داده بشه و با انتخاب هر نام کد آن در لیبل نمایش داده بشه 
البته با ef 
کمک کنید
ممنون
khokhan
دوشنبه 11 فروردین 1393, 12:26 عصر
سلام دوستان من دو تا فیلد دارم
name
id
میخوام تمام نام ها در کمبوباکس نمایش داده بشه و با انتخاب هر نام کد آن در لیبل نمایش داده بشه 
البته با ef 
کمک کنید
ممنون
فیلد نام رو به DisplayMember کمبوباکس  اختصاص بده و فیلد ID رو به ValueMember کمبو باکس قرار بده :
 var query = from q in db.zirna
                        select new{q.id, q.p_name,q.p_lname };
            comboBox1.DataSource = query.ToList();
            comboBox1.DisplayMember = "p_lname";
            comboBox1.ValueMember = "id";
بعد در رویداد SelectedIndexChanged  کمبو باکس یه کوئری دیگه براساس مقدار کمبو بزن و بریز توی لیبل  اینطوری :
            private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            var query = db.zirna.Where(c => c.p_lname == comboBox1.Text).ToList();
            foreach(var item in query)
            {
                label2.Text = item.id.ToString();
            }
        }
r4hgozar
دوشنبه 11 فروردین 1393, 12:27 عصر
سلام. اگه درست متوجه شده باشم.
این کد اتصال یک فیلد به combobax
 dbTestEntities2 db = new dbTestEntities2();
dataGridView1.DataSource = db.SPselect_tbl_Amanat();
            comboBox1.DataSource = db.tbl_Book.ToList();
            comboBox1.DisplayMember = "name";
بعد هم باید در 
private void comboBox1_SelectedValueChanged(object sender, EventArgs e)
        {
            MessageBox.Show(comboBox1.Text);
        }
جای مسیج باکس باید کوئری رو ادد کنی. اونم بصورت زیره
var query = from c in db.tbl_Amanat.ToList()
                        where c.name == comboBox1.Text
                        select c;
بعد هم فقط bind میکنی فیلدت رو
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.