PDA

View Full Version : مبتدی: ریختن اطلاعات ستونی خاص از جدول به یک combo box



mohammadian7
پنج شنبه 19 خرداد 1390, 14:49 عصر
سلام من دارم از linq استفاده میکنم
میخوام ستون "نام" جدول ناشرین رو داخل یک کمبو باکس بریزم تا در موقع اضافه کردن کتاب به راحتی به اطلاعات کتاب اضافه بشه.
باید چگونه به فیلد نام هر رکورد دسترسی پیدا کنم. و چگونه رکورد ها را seek کنم.

ompcj4u
پنج شنبه 19 خرداد 1390, 19:06 عصر
سلام

va q = from t in bank.tblName
select new {t.code};

foreach(var item in q)
comboBox1.items.Add(item.code.tostring());

امیدوارم سوالت رو درست فهمیده باشم

noname1st
شنبه 21 خرداد 1390, 08:25 صبح
برای موارد خواندن از بانک و جداول داخل بانک چون از dataset استفاده می شود از دستور .DataSource استفاده کم

cmb1.Datasource=نام دیتا ست
cmb1.DataValue="نام کلید اصلی"
cmb1.DataText="نام ستون مورد نظر"
و در وب باید رعایت کرد
cmb.DataBind();

mohammadian7
دوشنبه 23 خرداد 1390, 00:11 صبح
بنده منظور شخص nonamest1 را متوجه نشدم و جناب ompcj4u (http://barnamenevis.org/member.php?139349-ompcj4u) من کاری که گفتید رو انجام دادم که متاسفانه ارور داد.
var items = (from item in dbPublisher.tbl_Publishers select item.Name);
foreach (var item in items) {
Publisher.Items.Add(item.Name.ToString());
}
دوستان اگر راه کار دیگری دارند لطف کنند بگویند.

raziee
دوشنبه 23 خرداد 1390, 09:51 صبح
بنده منظور شخص nonamest1 را متوجه نشدم
بعضی از کنترل های دات نت خاصیت Bind شدن به یک منبع رو دارند.
شما میتونید Collection ای رو از کوئریتون بدست میارید به این کنترل ها بایند کنید.

YourComboBox.DataSource = YpurCollection;
YourComboBox.DisplayMember = "DisplayPropertyName";
YourComboBox.ValueMember = "PropertyID";

DisplayMember مشخص میکنه که چه چیزی باید نمایش داده بشه.
ValueMember مقدار یا کلید پراپرتی رو بر مشخص میکنه که بتونید ازش استفاده کنید.
مثلا:
int keyId= (int)YourComboBox.SelectedValue;

ompcj4u
پنج شنبه 26 خرداد 1390, 23:25 عصر
س ompcj4u (http://barnamenevis.org/member.php?139349-ompcj4u) من کاری که گفتید رو انجام دادم که متاسفانه ارور داد.
var items = (from item in dbPublisher.tbl_Publishers select item.Name);
foreach (var item in items) {
Publisher.Items.Add(item.Name.ToString());
}
دوستان اگر راه کار دیگری دارند لطف کنند بگویند.


سلام دوست عزیز
باید error بده
من نوشتم Select New شما select خالی زدین

اینجوری تغییرش بدین

var items = (from item in dbPublisher.tbl_Publishers select new {item.Name});
foreach (var item in items) {
Publisher.Items.Add(item.Name.ToString());
}

hamidjalali
چهارشنبه 01 تیر 1390, 15:47 عصر
سلام

اگه خواستم مثلا 4 تا آخر رو انتخاب کنیم چطوری باید بنویسیم؟ میخام بریزم توی یک آرایه رشته ای؟

aliramazani
چهارشنبه 08 تیر 1390, 13:25 عصر
اگر نخوام به کمبو باکس بایند کنم و به تکس باکس بایند کنم چطوریه؟

ompcj4u
چهارشنبه 08 تیر 1390, 21:53 عصر
سلام

اگه خواستم مثلا 4 تا آخر رو انتخاب کنیم چطوری باید بنویسیم؟ میخام بریزم توی یک آرایه رشته ای؟


اگه با متد Count تعداد رکورد ها رو به دست بیاری می تونی این کارو انجام بدی

va q = (from t in bank.tblName
select t).Count();

ompcj4u
چهارشنبه 08 تیر 1390, 21:55 عصر
اگر نخوام به کمبو باکس بایند کنم و به تکس باکس بایند کنم چطوریه؟


سلام

اگه منظورت اینه که مثل Ado.net با کلیک روی grideView این کارو خود کار انجام بده فکر نکمک بشه
من که چیزی پیدا نکردم
در غیر این صورت باید با کلیک روی grideView مثلا مقدار یکتای کد رو از اون برداری و یه select بزنی

far2020
سه شنبه 14 تیر 1390, 17:09 عصر
به این صورت میتونی نام ناشر ها رو تو combo box بریزی

var Query= (
from c in Db.tblPublisher
select new { PublisherName = c.publisherName }
).ToList();
comboBox1.DataSource = Query;