View Full Version : مبتدی: انتخاب در کمبوباکس
mahsa.admin
یک شنبه 10 خرداد 1394, 11:21 صبح
سلام
یک جدول دارم که بایند میکنم به کمبوباکس
cbo.DataSource = Linq;
cbo.DisplayMember = DisName;
cbo.ValueMember = ValName;
در این کمبوباکس برای اینکه به فیلد هایی غیر از DisName و ValName دسترسی پیدا کنیم (مثلا جدول ما سه فیلد نام و کد و قیمت ) چه کدی باید بنویسم که به قیمت در انتخاب هر ایتم دسترسی داشته باشم در vb من این کدو مینوشتم
cbo.selectitem("price ").tostring()
Mahmoud.Afrad
یک شنبه 10 خرداد 1394, 20:08 عصر
آیتم انتخاب شده رو به شئ ای از نوع موجودیت تبدیل و بعد از پراپرتی های اون استفاده کن.
tbl h = comboBox1.SelectedItem as tbl;
if (h != null)
{
MessageBox.Show(Convert.ToString(h.baseprice));
}
akbarkian
شنبه 16 خرداد 1394, 10:31 صبح
با سلام
من هم دقیقا همین مشکل و دارم ولی متاسفانه راه حلی پیدا نکردم
یعنی میخام به ایتمی غیر از دوتا موردی که توسط کمبو باکس برگردانده میشود(DisplayMember وValueMember ) دسترسی داشته باشم دوستان لطفا راهنمایی کنن
winner1
شنبه 16 خرداد 1394, 10:54 صبح
ببینی خیلی سادس اگه از دیتاتیبل واسه سورس کمبو باکستون استفاده کردین
(this.combobox.DataSource as DataTable).Rows[this.combobox.selectedIndex]["ID"].ToString();
این راحل کلی بود با لینکم اگه دادین بازم خیلی ساده به جدول نوع لینک تبدیل کنین
mahsa.admin
شنبه 16 خرداد 1394, 14:14 عصر
با تشکر از جناب winner1 (http://barnamenevis.org/member.php?296962-winner1)
امکانش هست معادل linq را هم بگید
winner1
شنبه 16 خرداد 1394, 14:48 عصر
شما قبل اینکه به کمبوباکستون دیتا سورس بدین
var result=from u in this.DataContext.Users select u;
DataTable dtUser=new DataTable();
dtUser.Columns.Add("ID",typeof(int));
dtUser.Columns.Add("UserID",typeof(int));
dtUser.Columns.Add("Name",typeof(int));
foreach(var item in result)
{
DataRow drNew=dtUser.NewRow();
drNew["ID"]=item.ID;
drNew["UserID"]=item.ID;
drNew["Name"]=item.ID;
dtUser.Rows.Add(drNew);
}
this.comboBox.DataSource=dtUser;
حالا از روشی که بالا گفتم یعنی دیتا سورس و تبدیل به دیتا تیبل کنین استفاده کنین
winner1
شنبه 16 خرداد 1394, 14:52 عصر
ولی من اگه خودم این مسئله رو به این شکل حل کردم که تو همچین مواقعی از Ado برای پر کردن کمبو باکس استفاده کردم تا سرعتم افت نکنه
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.