PDA

View Full Version : بدست آوردن داده های بدون تکرار توسط linq



Mansoor92
یک شنبه 29 دی 1392, 14:29 عصر
سلام دوستان

من با استفاده از کوئری زیر اومدم یکسری از آیتم ها رو گروه بندی کردم حالا وقتی میخام اینارو توی کمبو باکس نشون بدم بصورت خیلی بد نشون میده

این کوئری هست که نوشتم

var r = from v in db.tbl_tamasshowreport
where v.CodeR == txt_tamascode.Text
group v by v.Maghsad into c
select new { c.Key };
combomasir.DataSource = r.ToList();


حالا وقتی کمبو باکس نمایش داده میشه آیتم هاش این شکلی هستند

{key=}
{key=علی}
{key=رضا}
{key=محمد}
{key=امیر}

ممنون میشم راهنمایی کنید

Mahmoud.Afrad
یک شنبه 29 دی 1392, 16:18 عصر
select c.Key;

Mansoor92
یک شنبه 29 دی 1392, 16:35 عصر
select c.Key;


سلام

بسیار ممنونم که پاسخ دادید

من این کدرو نوشتم اما هیچ فیلدی توی کمبو باکس نمایش داده نمیشه و به اصطلاح خالیه


var r = from v in db.tbl_tamasshowreport
where v.CodeR == txt_tamascode.Text
group v by v.Maghsad into c
select c.Key;

combomasir.DataSource = r.ToList();

Mahmoud.Afrad
یک شنبه 29 دی 1392, 16:48 عصر
دقیقا چه چیزی مد نظرت هست.

Mansoor92
یک شنبه 29 دی 1392, 16:52 عصر
دقیقا چه چیزی مد نظرت هست.

دقیقا میخوام وقتی یک کدی وارد تکسباکس شد و کلید اینتر زده شد توی دیتابیس بگرده و تمامی کدهای وارد شده رو پیدا کنه و حالا مثلا مقصدهایی که اونا رفتند رو توی کمبوباکس نشون بده(تا اینجا هیچ مشکلی نیست)
اما مشکل اینجاست که ممکنه مثلا کد 16 یک مسیر رو 10بار رفته باشه حالا توی کمبوباکس ده بار مثلا مینویسه تجریش...من میخام برای جلوگیری از تکرار گروه بندی کنم مقصد هام رو

دقیقا این کار مد نظرم هست

ممنون میشم راهنمایی کنید

Mahmoud.Afrad
یک شنبه 29 دی 1392, 17:34 عصر
گروهبندی لازم نیست. مقصدها رو بدست بیار و با distinct تکراری ها رو حذف کن

var r = (from v in db.tbl_tamasshowreport
where v.CodeR == txt_tamascode.Text
select v.Maghsad).Distinct();

Mansoor92
یک شنبه 29 دی 1392, 17:50 عصر
گروهبندی لازم نیست. مقصدها رو بدست بیار و با distinct تکراری ها رو حذف کن

var r = (from v in db.tbl_tamasshowreport
where v.CodeR == txt_tamascode.Text
select v.Maghsad).Distinct();


بسیار ازتون ممنونم

ولی بازم کمبو باکس خالی نمایش داده میشه....

Mansoor92
یک شنبه 29 دی 1392, 19:28 عصر
دوستان لطفا راهنمایی کنید...

Mansoor92
دوشنبه 30 دی 1392, 09:01 صبح
این دستورات رو هم نوشتم اما null برمیگردونه و خطا میده


var t = from c in db.tbl_tamasshowreport
where c.CodeR == txt_tamascode.Text
group c by c.Maghsad into h
select h.Key;

foreach (var query in q)
{
combomasir.Items.Add(query);
}