Gridview上包含页的总计
本文关键字:包含页 Gridview | 更新日期: 2023-09-27 18:26:40
我试图显示一个有多个页面的网格视图的总工作小时数。
这就是我现在正在做的:
protected void gwWorkhours_DataBound(object sender, GridViewRowEventArgs e)
{
int hour = 0;
if (e.Row.DataItem != null)
{
string hours = DataBinder.Eval(e.Row.DataItem, "hours").ToString();
Int32.TryParse(hours, out hour);
completeCount += hour;
}
}
但它只显示了第一页的总数。
我使用ObjectDataSource来填充网格,如下所示:
gwWorkhours.DataSourceID = "ObjectDataSource1";
gwWorkhours.DataBind();
有没有可能在数据表绑定到gridview后从objectdatasource中获取数据表,然后对其进行迭代?除非迫不得已,否则我不想再调用数据库。
是的,正如你已经意识到的,你只得到一页的总数,因为你只加了那一页。你可以得到这样的实际ObjectDataSourceView
:
var view = this.dataSource.GetView() as ObjectDataSourceView;
然后你可以发出这样的Select
:
view.Select(null);
该参数的类型为DataSourceSelectArguments
,因此如果需要传入参数,则需要构建其中一个参数。
Select
文档GetView
文档