PDA

View Full Version : نتیجه کوئری در linq دیتا گرید را پر نمیکند



saed2006
شنبه 24 مرداد 1388, 22:47 عصر
توی فرم یک دیتا ویو دارم و این کد رو واسه پر کردنش نوشتم


dbDataContext db = new dbDataContext();
var q = from c in db.hesabs
select c.codeshobe;
dataGridView2.DataSource = q;

مشکل اینه که دیتا گرید پر نمیشه در صورتی که وقتی forech میزنم روی q پر از دیتا هست اینم بگم وقتی همه فیلد ها انتخاب بشن مشکلی پیش نمیاد

علیرضا مداح
یک شنبه 25 مرداد 1388, 08:21 صبح
سلام دوست عزیز،
با کد فوق، متغیر q از نوع IQueryable<int> خواهد بود و نمی توان DataGridView را با آن پر کرد، شما می بایست کد را به گونه ای تغییر دهید که خروجی از نوع لیست/کالکشنی از Entity مورد نظر شما با تمام/تعداد مشخصی از فیلدها باشد، برای اینکار باید از کلیدواژه new در select استفاده نمایید،
برای انتخاب یک فیلد:


dbDataContext db = new dbDataContext();
var q = from c in db.hesabs
select new { c.codeshobe };
dataGridView2.DataSource = q;

برای انتخاب بیش از یک فیلد:


dbDataContext db = new dbDataContext();
var q = from c in db.hesabs
select new { c.codeshobe, c.namehesab };
dataGridView2.DataSource = q;

،/