PDA

View Full Version : سوال: select شدن اطلاعات با تغییر ایندکس comboBox



vB.N3T
دوشنبه 13 مهر 1394, 23:23 عصر
سلام مهندسین عزیز
جدول 2 تا فیلد داره
1- نام کاربر
2.شماره تلفن

برای فرم اپدیت کاربر یه کامبو باکس .گذاشتم ک نام همه کاربرا سلکت میکنه
میخام با تغیر نام. با کمبوباکس. اطلاعات نام و تلفن کاربر به 2 تا تکس باکس ک گذاشتم منتقل بشع
با linq
ممنون راهنمایی کنید

Mahmoud.Afrad
دوشنبه 13 مهر 1394, 23:38 عصر
کد پر کردن کمبوباکس رو قرار بدید.

vB.N3T
سه شنبه 14 مهر 1394, 00:33 صبح
var select_cat = from s in db.tbl_Cats select new { s.cat_name };
comboBox1.DataSource = select_cat;
comboBox1.DisplayMember = "cat_name";

ژیار رحیمی
سه شنبه 14 مهر 1394, 10:00 صبح
موقع بایند کردن ComboBox

comboBox1.DataSource = db.tbl_Cats.Select(c=> new{c.Id,c.cat_name}).ToList();
comboBox1.ValueMember = "Id";
comboBox1.DisplayMember = "cat_name";


و تو ویداد SelectedValueChanged کامبوباکس

private void comboBox1_SelectedValueChanged(object sender, EventArgs e)
{
if((int)comboBox1.SelectedValue<=0)return;
var rec=db.tbl_Cats.Find((int)comboBox1.SelectedValue) ;
if(rec==null)return;
textBox1.Text=rec.cat_name;
textBox2.Text=rec.cat_mobile;
}

vB.N3T
پنج شنبه 16 مهر 1394, 01:40 صبح
مهندس
این خط
var rec=db.tbl_Cats.Find((int)comboBox1.SelectedValue) ;

تابع Find رو نمیشناسه
خطا میده

Error 1 'System.Data.Linq.Table<Farmer.tbl_Cat>' does not contain a definition for 'Find' and no extension method 'Find' accepting a first argument of type 'System.Data.Linq.Table<Farmer.tbl_Cat>' could be found (are you missing a using directive or an assembly reference?) D:\Project Farmer\Farmer\Farmer\Frm_up_farmer.cs 41 35 Farmer

ژیار رحیمی
شنبه 18 مهر 1394, 22:19 عصر
using System.Linq;

vB.N3T
سه شنبه 21 مهر 1394, 00:26 صبح
این using هم دارم ولی باز find رو نمیشناسه
راه حل دیگه ای نیست ؟

vB.N3T
پنج شنبه 05 آذر 1394, 12:47 عصر
سلام مهندسین عزیز

1 کمبو باکس داریم که نام افراد رو در خودش داره
وقتی ایتم انتخاب شده کبو تغیر کرد
میخام نام.سن و شماره تلفن اون شخص رو بر اساس نام که توی کمبو هست سلکت کنه و داخل textbox نمایش بده
ممنون :قلب:

تکنولوژی linq استفاده میکنم

ashe405
پنج شنبه 05 آذر 1394, 12:59 عصر
سلام
منظورتون رو دقیق متوجه نشدم منظورتون اینه که یه دیتا بیس دارین که فیلد نام اون به یه کمبوباکس وصله و وقتی نام یکی رو تو کمبو باکس انتخاب میکنین بقیه محتویات اونو بیاره تو یه تکس باکسی
خب اگه سوالتون اینه که بیشتر کار دیتابیسی میشه
یعنی تکس کمبو باکس رو به به دیتا بیستون بفرستین تا یه سرچ بر اساس اون نام بشه دیتا بیس تازه اگه نام کلید باشه و محتویاتشو برگردونه داخل یه تکس!

vB.N3T
پنج شنبه 05 آذر 1394, 15:16 عصر
نام کلید نیست
میخام نام رو از کمبو انتخاب کنه
سن و شماره تلفن رو تو تکس باکس های مربوطه نوششه بشه

Mahmoud.Afrad
جمعه 06 آذر 1394, 07:18 صبح
همون کدی که جناب ژیار رحیمی (http://barnamenevis.org/member.php?48557-%DA%98%DB%8C%D8%A7%D8%B1-%D8%B1%D8%AD%DB%8C%D9%85%DB%8C) گذاشتن رو بنویس. به جای متد find از متد FirstOrDefault استفاده کن.

vB.N3T
پنج شنبه 12 آذر 1394, 16:33 عصر
دوستان کمک میکنین به نتیجه برسم.خیلی وقته تاپیک زدم

الان تاریخ داخل کمبو باکس نمایش داده میشه
میخام با تغیر کموباکس..مقدار قیمت ثبت شده برای تاریخ انتخاب شده سلکت بشه
این کد رو نوشتم اما کار نمیکنه

var select_price = from s in db.tbl_prices
where s.date == combodate.Text
select s.price;
txtdate.Text = select_price.ToString();


فیلد تاریخ از نوغ nvarchar انتخاب کردم تو جدول

Mahmoud.Afrad
پنج شنبه 12 آذر 1394, 19:12 عصر
چون یک شئ میخواهی باید از متد FirstOrDefault استفاده کنی:

var select_price = (from s in db.tbl_prices
where s.date == combodate.Text
select s).FirstOrDefault();
if (select_price != null)
{
txtdate.Text = select_price.price.ToString();
}

vB.N3T
جمعه 13 آذر 1394, 01:42 صبح
ممنون مهندس افراد با روش شما درست شد
FirstOrDefault میشه یه توضیحی در موردش بدی؟