我有一个使用LinqDataSource的GridView。 GridView具有默认的分页启用。我想在分页之前从LinqDataSource检索数据,以便我可以使用Linq2SQL计算整个数据库的一个单独的列。
现在,我正在使用LinqDataSource_Selected
LinqDataSourceStatusEventArgs.Result
事件,但它只返回分页后的数据(即该页面上的数据)。
protected void linqDataSource_Selected(Object sender, LinqDataSourceStatusEventArgs e)
{
var totalTime = (e.Result as List<Ticket>).Sum(t => t.TimeSpent);
gridView.Columns[8].FooterText = "Sum: " + totalTime;
}
所以我的问题是:如何在分页之前从LinqDataSource检索数据?
答案 0 :(得分:1)
LINQDataSource类有一个GetView()方法,它返回一个DataSourceView对象。 DataSourceView有一个ExecuteSelect()方法,它将直接查询数据源。您应该能够在ExecuteSelect()方法上使用LINQ语法来获得总和。