Gridview上的Grandtotal页面

时间:2013-08-06 15:40:48

标签: c# asp.net .net

我正在尝试从具有多个页面的gridview中显示工作小时数。

这就是我现在正在做的事情:

 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();

是否有可能在将objectdatasource绑定到gridview之后从objectdatasource获取数据表,然后迭代它?除非我真的需要,否则我不想再打电话给数据库。

1 个答案:

答案 0 :(得分:1)

是的,正如您已经意识到的那样,您只能获得一页的总数,因为您只是将这一页加起来。您可以像这样获得实际的ObjectDataSourceView

var view = this.dataSource.GetView() as ObjectDataSourceView;

然后你可以像这样发出Select

view.Select(null);

参数的类型为DataSourceSelectArguments,因此如果您需要传入参数,则需要构建其中一个参数。