PDA

View Full Version : سوال: bind کردن gridview با کمک linkq در یک کلاس جدا



par3eh
سه شنبه 19 شهریور 1392, 14:44 عصر
سلام دوستان
من یه سری داده رو از پایگام با LINQ میگیرم ومیخوام توی فرمم استفاده کنم
که توابع پایگاه رو میخوام توی یه کلاس بنویسم جدا از برنامه.
من یه فایل cs دارم :


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MyDesk
{
static public class DB
{
static public class Insert
{
static public void Unit(string id, string subject)
{
using (DeskDataContext dc = new DeskDataContext())
{
var unit = new UnitTB();
unit.id = id;
unit.subject = subject;
unit.num = 0;
dc.UnitTBs.InsertOnSubmit(unit);
dc.SubmitChanges();
}
}
}
static public class Select
{
static public List<UnitTB> Unit()
{
using (DeskDataContext dc = new DeskDataContext())
{
var unit = (from c in dc.UnitTBs select c).ToList();
return unit;
}
}
}
}

}



و قسمتی از کد فرمم :



private void UnitSettings_Load(object sender, EventArgs e)
{
Gv_bind();
}

private void btn_save_Click(object sender, EventArgs e)
{
try
{
DB.Insert.Unit(System.Guid.NewGuid().ToString(), txbx_group.Text);
Gv_bind();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
void Gv_bind()
{
var unit = DB.Select.Unit();
BindingSource _bindsrc = new BindingSource();
_bindsrc.DataSource = unit;
gv_list.DataSource = _bindsrc;
gv_list.Refresh();
}


نمیتونم توی اون فایل اولی قسمت : static public List<UnitTB> Unit() رو عوض کنم که به صورت list برنگردونه ؟ میخوام یجور برگردونه که بتونم مثلا توی یه حلقه foreach هم از رکوردهام استفاده کنم . به غیر از اینکه توی یک gridview نمایش داده بشه .
اگه به جای LIST<> این رو بزارم IQueryable<UnitTB> میتونم اینکاری که میخوام رو انجام بدم ولی نمیتونم توی grid نشون بدم ... یعنی grid مقدار بازگشتی رو نشون نمیده:ناراحت:
چیکار کنم اون نتیجه ای که میخوام رو بگیرم؟
با تشکر

par3eh
سه شنبه 19 شهریور 1392, 20:38 عصر
رفع شد...........