PDA

View Full Version : GridView و Linq



mustafaehsani
جمعه 07 شهریور 1393, 22:36 عصر
با سلام
دو تا جدول دارم 1- دروس 2- دروس درخواستی
حالا میخوام با استفاده از gridview کل جدول دروس به همراه یک ستون که تعداد درخواستهای مربوط بهمون درس از جدول 2 محاسبه کنه چطور میتونم اینکار انجام بدم

mustafaehsani
شنبه 08 شهریور 1393, 16:02 عصر
دوستان و اساتید لطفاً کمک کنند

nice_boy_a
شنبه 08 شهریور 1393, 17:16 عصر
سلام. دقیقا کجاش مشکل داری؟ تو کوئری گرفتن ؟ یا خروجی گرفتن و نمایش دادن تو gridview؟ ( اگه تو کوئری مشکل داری فیلدهای هر جدول رو بزار)

mustafaehsani
شنبه 08 شهریور 1393, 18:08 عصر
سلام. دقیقا کجاش مشکل داری؟ تو کوئری گرفتن ؟ یا خروجی گرفتن و نمایش دادن تو gridview؟ ( اگه تو کوئری مشکل داری فیلدهای هر جدول رو بزار)

سلام تو کوئری گرفتن. باید خروجی کل جدول دروس باشه که یک ستون تحت عنوان تعداد درخواست بهش اضافه بشه. این کد جواب نداد


DataClassesDataContext db = new DataClassesDataContext();
var sumcount = (from sy in db.جدول درخواست
join crd in db.جدول دروس on sy.کد درس جدول درخواست equals crd.کد درس جدول دروس
where sy.کد درس جدول درخواست == crd.کد درس جدول دروس
select sy).Count();
GridView1.DataSource = sumcount;
GridView1.DataBind();


میدونم select اشتباه ست اما کجاش نمیدونم

majidnazari65
یک شنبه 09 شهریور 1393, 11:57 صبح
دوست عزیز شما باید بر اساس دروس گروهبندی کنی و Count گروهها رو بدست بیاری. چیزی شبیه کد زیر:

DataClassesDataContext db = new DataClassesDataContext();
var sumcount = (from sy in db.جدول درخواست
join crd in db.جدول دروس on sy.کد درس جدول درخواست equals crd.کد درس جدول دروس
select new {sy,crd}).groupby(x=>x.crd.نام درس ).select(g=>new {LessonName=g.key,LessonCount=g.count()});
GridView1.DataSource = sumcount.ToList();
GridView1.DataBind();

mustafaehsani
یک شنبه 09 شهریور 1393, 15:32 عصر
دوست عزیز شما باید بر اساس دروس گروهبندی کنی و Count گروهها رو بدست بیاری. چیزی شبیه کد زیر:

DataClassesDataContext db = new DataClassesDataContext();
var sumcount = (from sy in db.جدول درخواست
join crd in db.جدول دروس on sy.کد درس جدول درخواست equals crd.کد درس جدول دروس
select new {sy,crd}).groupby(x=>x.crd.نام درس ).select(g=>new {LessonName=g.key,LessonCount=g.count()});
GridView1.DataSource = sumcount.ToList();
GridView1.DataBind();




خیلی ممنون کد تون جواب داد فقط چیکار کنم ستون اسم درس متناظر با اسم درس به نمایش در بیاد

DataClassesDataContext db = new DataClassesDataContext();
var sumcount = (from sy in db.جدول درخواست
join crd in db.جدول دروس on sy.کد درس جدول درخواست equals crd.کد درس جدول دروس
select new { sy, crd }).GroupBy(x => x.crd.کد درس جدول دروس).Select(g => new { LessonID = g.Key , LessonCount = g.Count() });
GridView1.DataSource = sumcount.ToList();
GridView1.DataBind();


خروجی

122912

majidnazari65
یک شنبه 09 شهریور 1393, 15:47 عصر
اگر ستون LessonId رو هم میخوای در کنار نام درس داشته باشی به صورت زیر:


DataClassesDataContext db = new DataClassesDataContext();
var sumcount = (from sy in db.جدول درخواست
join crd in db.جدول دروس on sy.کد درس جدول درخواست equals crd.کد درس جدول دروس
select new { sy, crd }).GroupBy(x => new{ x.crd.کد درس جدول دروس , x.crd.نام درس}).Select(g => new { LessonID = g.Key.کد درس , LessonName=g.Key.نام درس , LessonCount = g.Count() });
GridView1.DataSource = sumcount.ToList();
GridView1.DataBind();

و در غیر این صورت با ستون نام درس گروهبندی کن.

mustafaehsani
یک شنبه 09 شهریور 1393, 15:53 عصر
اگر ستون LessonId رو هم میخوای در کنار نام درس داشته باشی به صورت زیر:


DataClassesDataContext db = new DataClassesDataContext();
var sumcount = (from sy in db.جدول درخواست
join crd in db.جدول دروس on sy.کد درس جدول درخواست equals crd.کد درس جدول دروس
select new { sy, crd }).GroupBy(x => new{ x.crd.کد درس جدول دروس , x.crd.نام درس}).Select(g => new { LessonID = g.Key.کد درس , LessonName=g.Key.نام درس , LessonCount = g.Count() });
GridView1.DataSource = sumcount.ToList();
GridView1.DataBind();

و در غیر این صورت با ستون نام درس گروهبندی کن.

خیلی ممنون

خیلی لطف کردی جواب داد بازم ممنون