PDA

View Full Version : جمع کردن مقادیر چند سلول از چند سطر



shervin_agh67
چهارشنبه 12 فروردین 1388, 17:22 عصر
سناریو به این صورته که ما دو تا جدول داریم که اولی با کاید خارجی به دومی متصل میشه در جدول دوم به این کلید خارجی منحصر بفرد نیست و تکرار میشه .با یک دستور ما یک سری از ستونهای جدول اول و دوم رو انتخاب می کنیم . حالا من می خوام سطرهایی که کلید برابر دارند رو مقادیر ستون های دیگرشون رو که به صورت رشته هست رو جمع کنم و در یک سطر قرار بدم و سطر تکراری رو حذف کنم . من کد زیر رو نوشتم ولی مشکل اینه که نوع این لیست بدست آمده anonymous Type هست و مقادریش فقط خواندنیه و نمیشه مقدارش رو دست زد.



var q= (from c in dc.Tbl1 join d in dc.tbl2 on c.F_id equals d.F_id select new{c.F_id,d.name,d.tel}).tolist();
for(int i=0;i<q.lenght;i++)
{
if(i>0)
if(q[i].F_id==q[i-1].F_id)
{
q[i-1].name+=q[i].name;
q.remove(q[i]);
}
}


سعی کردم تو زمان نمایش دو دیتاگرید مقادیر رو واریش کنم ولی دیتاگرید بعد از بایند شدن مقادیرش تغییر نمی کنه (توی این قسمت این مشکل رو مطرح کردم اگه کسی می دونه جواب بده : http://barnamenevis.org/forum/showthread.php?t=153103 ) .
مرسی.

shervin_agh67
چهارشنبه 12 فروردین 1388, 17:27 عصر
به نظر من اگه بعضی از این مشکلات LINQ حل نشه خیلی این زبان ضعف داره چون من مشکلات پایه زیادی توش دیدم (احتمالا زمان Distinct کردن یکیشو دیدید). البته برای هر کدومش هم دلیل دارن ولی خوب با این مشکلات خیلی ضعف داره.