【发布时间】:2010-08-27 02:36:20
【问题描述】:
当我在运行时使用 linq 查询设置数据源时,我正在寻找一种使用 GridView 进行分页的方法。这是我的代码:
ETDataContext etdc = new ETDataContext();
var accts = from a in etdc.ACCOUNTs
orderby a.account_id
select new
{
Account = a.account_id,
aType = a.SERVICEs.FirstOrDefault().SERVICE_TYPE.service_type_desc,
name = a.SERVICEs.FirstOrDefault().service_name,
Letter_dt = a.create_dt,
PrimAccthldr = a.PEOPLE.first_name + " " + a.PEOPLE.middle_name + " " + a.PEOPLE.last_name
};
GridView1.DataSource = accts;
GridView1.BindData();
我已将网格设置为允许分页,但我收到一条错误消息,指出尚未处理 PageIndexChanging 事件。我四处寻找,发现以下内容:
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
GridView1.DataBind();
}
但是当您使用数据表而不是 linq 时,效果很好。如果我在事件中添加重新绑定,它必须重新查询 7000 条记录,这可能会有点慢。有谁知道在使用这样的 linq 时如何修复分页?
【问题讨论】:
标签: c# asp.net linq-to-sql gridview paging