C# 自定义网格LINQ到SQL
以下是我的自定义控件网格:C# 自定义网格LINQ到SQL,c#,linq,linq-to-sql,C#,Linq,Linq To Sql,以下是我的自定义控件网格: public partial class LinqGrid : UserControl { object tmpDataTable = new object(); public LinqGrid() { InitializeComponent(); } public void Bind<T>(System.Data.Linq.Table<T>
public partial class LinqGrid : UserControl
{
object tmpDataTable = new object();
public LinqGrid()
{
InitializeComponent();
}
public void Bind<T>(System.Data.Linq.Table<T> listSource) where T : class
{
Project.dbClassesDataContext dbc = new Project.dbClassesDataContext();
tmpDataTable = listSource;
var query = (from c in listSource select c);
dgvRecords.DataSource = query.Take(10).ToList();
}
private void btnNext_Click(object sender, EventArgs e)
{
// now what do I have to do here if I want next 10 records? I mean how to retrieve tmpDataTable object here? I can't find the type of variable.
}
}
公共部分类LinqGrid:UserControl
{
对象tmpDataTable=新对象();
公共LinqGrid()
{
初始化组件();
}
公共void绑定(System.Data.Linq.Table listSource),其中T:class
{
Project.dbClassesDataContext dbc=新项目.dbClassesDataContext();
tmpDataTable=listSource;
var query=(从listSource中的c选择c);
dgvRecords.DataSource=query.Take(10.ToList();
}
private void btnNext_单击(对象发送方,事件参数e)
{
//现在,如果我想要接下来的10条记录,我必须在这里做什么?我的意思是如何在这里检索tmpDataTable对象?我找不到变量的类型。
}
}
将您的类定义为:
public partial class LinqGrid<T> : UserControl where T : class, new()
{
System.Data.Linq.Table<T> tmpDataTable;
public LinqGrid()
{
InitializeComponent();
}
public void Bind(System.Data.Linq.Table<T> listSource)
{
Project.dbClassesDataContext dbc = new Project.dbClassesDataContext();
tmpDataTable = listSource;
var query = (from c in listSource select c);
dgvRecords.DataSource = query.Take(10).ToList();
}
private void btnNext_Click(object sender, EventArgs e)
{
tmpDataTable.Skip(10).Take(10); ....
}
}
public部分类LinqGrid:UserControl其中T:class,new()
{
System.Data.Linq.Table tmpDataTable;
公共LinqGrid()
{
初始化组件();
}
公共无效绑定(System.Data.Linq.Table listSource)
{
Project.dbClassesDataContext dbc=新项目.dbClassesDataContext();
tmpDataTable=listSource;
var query=(从listSource中的c选择c);
dgvRecords.DataSource=query.Take(10.ToList();
}
private void btnNext_单击(对象发送方,事件参数e)
{
tmpDataTable.跳过(10).取(10)。。。。
}
}