Gridview 分页功能
1,如果将 GridView 控件绑定到在界面级别支持分页功能的数据源控件,则 GridView 控件将直接利用这一功能。在界面级别分页意味着 GridView 控件仅从数据源请求呈现当前页所需的记录数。请求的记录数可能会根据其他因素变化,例如,数据源是否支持获取总记录数,由 PageSize 属性指定的每页的记录数,以及在将 PageButtonCount 属性设置为 Numeric 时要显示的页导航按钮的数目。
注意
在 .NET Framework 包含的数据源控件中,只有 ObjectDataSource 控件在界面级别支持分页。
2,如果将 GridView 控件绑定到不直接支持分页功能的数据源控件,或者如果通过 DataSource 属性利用代码将 GridView 控件绑定到一个数据结构,则 GridView 控件将按照如下方式进行分页:先从源获取所有数据记录,仅显示当前页的记录,然后丢弃剩余的记录。只有在 GridView 控件的数据源返回一个实现 ICollection 接口的集合(包括数据集)时,才支持这种分页方式。
注意
如果数据源不直接支持分页且未能实现 ICollection 接口,则 GridView 控件将无法进行分页。例如,如果您正使用 SqlDataSource 控件,并将其 DataSourceMode 属性设置为 DataReader,则 GridView 控件无法实现分页。